updated for version 7.0158
diff --git a/runtime/syntax/catalog.vim b/runtime/syntax/catalog.vim
index 2f8e388..4dbff00 100644
--- a/runtime/syntax/catalog.vim
+++ b/runtime/syntax/catalog.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	sgml catalog file
 " Maintainer:	Johannes Zellner <johannes@zellner.org>
-" Last Change:	Tue, 27 Apr 2004 14:54:59 CEST
+" Last Change:	Fr, 04 Nov 2005 12:46:45 CET
 " Filenames:	/etc/sgml.catalog
 " $Id$
 
@@ -17,8 +17,8 @@
 syn region  catalogString start=+'+ skip=+\\\\\|\\'+ end=+'+ keepend
 
 syn region  catalogComment      start=+--+   end=+--+ contains=catalogTodo
-syn keyword catalogTodo		TODO FIXME XXX contained display
-syn keyword catalogKeyword	DOCTYPE OVERRIDE PUBLIC DTDDECL ENTITY display
+syn keyword catalogTodo		TODO FIXME XXX NOTE contained
+syn keyword catalogKeyword	DOCTYPE OVERRIDE PUBLIC DTDDECL ENTITY CATALOG
 
 
 " The default highlighting.
diff --git a/runtime/syntax/cf.vim b/runtime/syntax/cf.vim
index 647c56a..517a20d 100644
--- a/runtime/syntax/cf.vim
+++ b/runtime/syntax/cf.vim
@@ -1,175 +1,251 @@
-" Vim syntax file
-"    Language: ColdFusion
-"  Maintainer: Toby Woodwark (toby.woodwark+vim@gmail.com)
-" Last Change: August 3, 2005
-" 	ColdFusion MX 7
-"	Usage: Since ColdFusion has its own version of HTML comments 
-"	(<!--- --->)
-"       make sure that you put 'let html_wrong_comments=1' in your .vimrc /
-"       _vimrc file.
-
-" 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")
-  finish
-endif
-
-" Use all the stuff from the HTML syntax file.
-if version < 600
-  source <sfile>:p:h/html.vim
-else
-  runtime! syntax/html.vim
-endif
-
-" Tag names.
-syn keyword cfTagName contained cfabort cfapplet cfapplication cfargument cfassociate cfbreak cfcache
-syn keyword cfTagName contained cfcalendar cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection
-syn keyword cfTagName contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory cfdocument
-syn keyword cfTagName contained cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror cfexecute
-syn keyword cfTagName contained cfexit cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid
-syn keyword cfTagName contained cfgridcolumn cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif
-syn keyword cfTagName contained cfimport cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument
-syn keyword cfTagName contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout cfloop cfmail
-syn keyword cfTagName contained cfmailparam cfmailpart cfmodule cfNTauthenticate cfobject cfobjectcache
-syn keyword cfTagName contained cfoutput cfparam cfpop cfprocessingdirective cfprocparam cfprocresult
-syn keyword cfTagName contained cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow
-syn keyword cfTagName contained cfreturn cfsavecontent cfschedule cfscript cfsearch cfselect cfset cfsetting
-syn keyword cfTagName contained cfsilent cfslider cfstoredproc cfswitch cftable cftextarea cfthrow cftimer
-syn keyword cfTagName contained cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx cfxml 
-
-" Tag parameters.
-syn keyword cfArg contained abort accept access accessible action addnewline addtoken addtoken agentname
-syn keyword cfArg contained align appendkey appletsource application applicationtimeout applicationtoken
-syn keyword cfArg contained archive argumentcollection arguments asciiextensionlist attachmentpath
-syn keyword cfArg contained attributecollection attributes attributes autowidth backgroundcolor
-syn keyword cfArg contained backgroundvisible basetag bcc bgcolor bind bindingname blockfactor body bold
-syn keyword cfArg contained border branch cachedafter cachedwithin casesensitive categories category
-syn keyword cfArg contained categorytree cc cfsqltype charset chartheight chartwidth checked class
-syn keyword cfArg contained clientmanagement clientstorage codebase colheaderalign colheaderbold
-syn keyword cfArg contained colheaderfont colheaderfontsize colheaderitalic colheaders colheadertextcolor
-syn keyword cfArg contained collection colorlist colspacing columns completepath component condition
-syn keyword cfArg contained connection contentid context contextbytes contexthighlightbegin
-syn keyword cfArg contained contexthighlightend contextpassages cookiedomain criteria custom1 custom2
-syn keyword cfArg contained custom3 custom4 data dataalign databackgroundcolor datacollection
-syn keyword cfArg contained datalabelstyle datasource date daynames dbname dbserver dbtype dbvarname debug
-syn keyword cfArg contained default delete deletebutton deletefile delimiter delimiters description
-syn keyword cfArg contained destination detail directory disabled display displayname disposition dn domain
-syn keyword cfArg contained enablecab enablecfoutputonly enabled encoded encryption enctype enddate
-syn keyword cfArg contained endrange endrow endtime entry errorcode exception existing expand expires
-syn keyword cfArg contained expireurl expression extendedinfo extends extensions external failifexists
-syn keyword cfArg contained failto file filefield filename filter firstdayofweek firstrowasheaders font
-syn keyword cfArg contained fontbold fontembed fontitalic fontsize foregroundcolor format formfields
-syn keyword cfArg contained formula from generateuniquefilenames getasbinary grid griddataalign gridlines
-syn keyword cfArg contained groovecolor group groupcasesensitive header headeralign headerbold headerfont
-syn keyword cfArg contained headerfontsize headeritalic headerlines headertextcolor height highlighthref
-syn keyword cfArg contained hint href hrefkey hscroll hspace htmltable id idletimeout img imgopen imgstyle
-syn keyword cfArg contained index inline input insert insertbutton interval isolation italic item
-syn keyword cfArg contained itemcolumn key keyonly label labelformat language list listgroups locale
-syn keyword cfArg contained localfile log loginstorage lookandfeel mailerid mailto marginbottom marginleft
-syn keyword cfArg contained marginright marginright margintop markersize markerstyle mask maxlength maxrows
-syn keyword cfArg contained message messagenumber method mimeattach mimetype mode modifytype monthnames
-syn keyword cfArg contained multipart multiple name namecomplict nameconflict namespace new newdirectory
-syn keyword cfArg contained notsupported null numberformat object omit onchange onclick onerror onkeydown
-syn keyword cfArg contained onkeyup onload onmousedown onmouseup onreset onsubmit onvalidate operation
-syn keyword cfArg contained orderby orientation output outputfile overwrite ownerpassword pageencoding
-syn keyword cfArg contained pageheight pagetype pagewidth paintstyle param_1 param_2 param_3 param_4
-syn keyword cfArg contained param_5 parent passive passthrough password path pattern permissions picturebar
-syn keyword cfArg contained pieslicestyle port porttypename prefix preloader preservedata previouscriteria
-syn keyword cfArg contained procedure protocol provider providerdsn proxybypass proxypassword proxyport
-syn keyword cfArg contained proxyserver proxyuser publish query queryasroot queryposition range rebind
-syn keyword cfArg contained recurse redirect referral refreshlabel remotefile replyto report requesttimeout
-syn keyword cfArg contained required reset resolveurl result resultset retrycount returnasbinary returncode
-syn keyword cfArg contained returntype returnvariable roles rowheaderalign rowheaderbold rowheaderfont
-syn keyword cfArg contained rowheaderfontsize rowheaderitalic rowheaders rowheadertextcolor rowheaderwidth
-syn keyword cfArg contained rowheight scale scalefrom scaleto scope scriptprotect scriptsrc secure
-syn keyword cfArg contained securitycontext select selectcolor selected selecteddate selectedindex
-syn keyword cfArg contained selectmode separator seriescolor serieslabel seriesplacement server serviceport
-syn keyword cfArg contained serviceportname sessionmanagement sessiontimeout setclientcookies setcookie
-syn keyword cfArg contained setdomaincookies show3d showborder showdebugoutput showerror showlegend
-syn keyword cfArg contained showmarkers showxgridlines showygridlines size skin sort sortascendingbutton
-syn keyword cfArg contained sortcontrol sortdescendingbutton sortxaxis source spoolenable sql src start
-syn keyword cfArg contained startdate startrange startrow starttime status statuscode statust step
-syn keyword cfArg contained stoponerror style subject suggestions suppresswhitespace tablename tableowner
-syn keyword cfArg contained tablequalifier taglib target task template text textcolor textqualifier
-syn keyword cfArg contained thread throwonerror throwonfailure throwontimeout time timeout timespan tipbgcolor tipstyle
-syn keyword cfArg contained title to tooltip top toplevelvariable transfermode type uid unit url urlpath
-syn keyword cfArg contained useragent username userpassword usetimezoneinfo validate validateat value
-syn keyword cfArg contained valuecolumn values valuesdelimiter valuesdisplay var variable vertical visible
-syn keyword cfArg contained vscroll vspace webservice width wmode wraptext wsdlfile xaxistitle xaxistype
-syn keyword cfArg contained xoffset yaxistitle yaxistype yoffset
-
-" ColdFusion Functions.
-syn keyword cfFunctionName contained Abs GetFunctionList Max ACos GetGatewayHelper Mid AddSOAPRequestHeader
-syn keyword cfFunctionName contained GetHttpRequestData Min AddSOAPResponseHeader GetHttpTimeString Minute
-syn keyword cfFunctionName contained ArrayAppend GetLocale Month ArrayAvg GetLocaleDisplayName MonthAsString
-syn keyword cfFunctionName contained ArrayClear GetMetaData Now ArrayDeleteAt GetMetricData NumberFormat
-syn keyword cfFunctionName contained ArrayInsertAt GetPageContext ParagraphFormat ArrayIsEmpty GetProfileSections
-syn keyword cfFunctionName contained ParseDateTime ArrayLen GetProfileString Pi ArrayMax GetSOAPRequest
-syn keyword cfFunctionName contained PreserveSingleQuotes ArrayMin GetSOAPRequestHeader Quarter ArrayNew
-syn keyword cfFunctionName contained GetSOAPResponse QueryAddColumn ArrayPrepend GetSOAPResponseHeader QueryAddRow
-syn keyword cfFunctionName contained ArrayResize GetTempDirectory QueryNew ArraySet GetTempFile QuerySetCell
-syn keyword cfFunctionName contained ArraySort GetTickCount QuotedValueList ArraySum GetTimeZoneInfo Rand ArraySwap
-syn keyword cfFunctionName contained GetToken Randomize ArrayToList Hash RandRange Asc Hour REFind ASin
-syn keyword cfFunctionName contained HTMLCodeFormat REFindNoCase Atn HTMLEditFormat ReleaseComObject BinaryDecode
-syn keyword cfFunctionName contained IIf RemoveChars BinaryEncode IncrementValue RepeatString BitAnd InputBaseN
-syn keyword cfFunctionName contained Replace BitMaskClear Insert ReplaceList BitMaskRead Int ReplaceNoCase
-syn keyword cfFunctionName contained BitMaskSet IsArray REReplace BitNot IsBinary REReplaceNoCase BitOr IsBoolean
-syn keyword cfFunctionName contained Reverse BitSHLN IsCustomFunction Right BitSHRN IsDate RJustify BitXor
-syn keyword cfFunctionName contained IsDebugMode Round Ceiling IsDefined RTrim CharsetDecode IsLeapYear Second
-syn keyword cfFunctionName contained CharsetEncode IsNumeric SendGatewayMessage Chr IsNumericDate SetEncoding
-syn keyword cfFunctionName contained CJustify IsObject SetLocale Compare IsQuery SetProfileString CompareNoCase
-syn keyword cfFunctionName contained IsSimpleValue SetVariable Cos IsSOAPRequest Sgn CreateDate IsStruct Sin
-syn keyword cfFunctionName contained CreateDateTime IsUserInRole SpanExcluding CreateObject IsValid SpanIncluding
-syn keyword cfFunctionName contained CreateODBCDate IsWDDX Sqr CreateODBCDateTime IsXML StripCR CreateODBCTime
-syn keyword cfFunctionName contained IsXmlAttribute StructAppend CreateTime IsXmlDoc StructClear CreateTimeSpan
-syn keyword cfFunctionName contained IsXmlElem StructCopy CreateUUID IsXmlNode StructCount DateAdd IsXmlRoot
-syn keyword cfFunctionName contained StructDelete DateCompare JavaCast StructFind DateConvert JSStringFormat
-syn keyword cfFunctionName contained StructFindKey DateDiff LCase StructFindValue DateFormat Left StructGet
-syn keyword cfFunctionName contained DatePart Len StructInsert Day ListAppend StructIsEmpty DayOfWeek
-syn keyword cfFunctionName contained ListChangeDelims StructKeyArray DayOfWeekAsString ListContains StructKeyExists
-syn keyword cfFunctionName contained DayOfYear ListContainsNoCase StructKeyList DaysInMonth ListDeleteAt StructNew
-syn keyword cfFunctionName contained DaysInYear ListFind StructSort DE ListFindNoCase StructUpdate DecimalFormat
-syn keyword cfFunctionName contained ListFirst Tan DecrementValue ListGetAt TimeFormat Decrypt ListInsertAt
-syn keyword cfFunctionName contained ToBase64 DeleteClientVariable ListLast ToBinary DirectoryExists ListLen
-syn keyword cfFunctionName contained ToScript DollarFormat ListPrepend ToString Duplicate ListQualify Trim Encrypt
-syn keyword cfFunctionName contained ListRest UCase Evaluate ListSetAt URLDecode Exp ListSort URLEncodedFormat
-syn keyword cfFunctionName contained ExpandPath ListToArray URLSessionFormat FileExists ListValueCount Val Find
-syn keyword cfFunctionName contained ListValueCountNoCase ValueList FindNoCase LJustify Week FindOneOf Log Wrap
-syn keyword cfFunctionName contained FirstDayOfMonth Log10 WriteOutput Fix LSCurrencyFormat XmlChildPos FormatBaseN
-syn keyword cfFunctionName contained LSDateFormat XmlElemNew GetTempDirectory LSEuroCurrencyFormat XmlFormat
-syn keyword cfFunctionName contained GetAuthUser LSIsCurrency XmlGetNodeType GetBaseTagData LSIsDate XmlNew
-syn keyword cfFunctionName contained GetBaseTagList LSIsNumeric XmlParse GetBaseTemplatePath LSNumberFormat
-syn keyword cfFunctionName contained XmlSearch GetClientVariablesList LSParseCurrency XmlTransform
-syn keyword cfFunctionName contained GetCurrentTemplatePath LSParseDateTime XmlValidate GetDirectoryFromPath
-syn keyword cfFunctionName contained LSParseEuroCurrency Year GetEncoding LSParseNumber YesNoFormat GetException
-syn keyword cfFunctionName contained LSTimeFormat GetFileFromPath LTrim 
-
-syn cluster htmlTagNameCluster add=cfTagName
-syn cluster htmlArgCluster add=cfArg,cfFunctionName
-
-syn region cfFunctionRegion start='#' end='#' contains=cfFunctionName
-
-" Define the default highlighting.
-" For version 5.x 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_cf_syn_inits")
-  if version < 508
-    let did_cf_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink cfTagName Statement
-  HiLink cfArg Type
-  HiLink cfFunctionName Function
-  HiLink cfFunctionRegion PreProc
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "cf"
-
-" vim: ts=8 sw=2
+" Vim syntax file

+"    Language: ColdFusion

+"  Maintainer: Toby Woodwark (toby.woodwark+vim@gmail.com)

+" Last Change: 2005-11-02

+"   Filenames: *.cfc *.cfm

+"     Version: Macromedia ColdFusion MX 7

+"       Usage: Note that ColdFusion has its own comment syntax

+"              i.e. <!--- --->

+

+" For version 5.x, clear all syntax items.

+" For version 6.x+, quit if a syntax file is already loaded.

+if version < 600

+  syntax clear

+elseif exists("b:current_syntax")

+  finish

+endif

+

+" Use all the stuff from the HTML syntax file.

+" TODO remove this; CFML is not a superset of HTML

+if version < 600

+  source <sfile>:p:h/html.vim

+else

+  runtime! syntax/html.vim

+endif

+

+syn sync fromstart

+syn sync maxlines=200

+syn case ignore

+

+" Scopes and keywords.

+syn keyword cfScope contained cgi cffile request caller this thistag cfcatch variables application server session client form url attributes arguments

+syn keyword cfBool contained yes no true false

+

+" Operator strings.

+" Not exhaustive, since there are longhand equivalents.

+syn keyword cfOperator contained xor eqv and or lt le lte gt ge gte eq neq not is mod contains

+syn match cfOperatorMatch contained "[\+\-\*\/\\\^\&][\+\-\*\/\\\^\&]\@!"

+syn cluster cfOperatorCluster contains=cfOperator,cfOperatorMatch

+

+" Tag names.

+syn keyword cfTagName contained cfabort cfapplet cfapplication cfargument cfassociate cfbreak cfcache

+syn keyword cfTagName contained cfcalendar cfcase cfcatch cfchart cfchartdata cfchartseries cfcol cfcollection

+syn keyword cfTagName contained cfcomponent cfcontent cfcookie cfdefaultcase cfdirectory cfdocument

+syn keyword cfTagName contained cfdocumentitem cfdocumentsection cfdump cfelse cfelseif cferror cfexecute

+syn keyword cfTagName contained cfexit cffile cfflush cfform cfformgroup cfformitem cfftp cffunction cfgrid

+syn keyword cfTagName contained cfgridcolumn cfgridrow cfgridupdate cfheader cfhtmlhead cfhttp cfhttpparam cfif

+syn keyword cfTagName contained cfimport cfinclude cfindex cfinput cfinsert cfinvoke cfinvokeargument

+syn keyword cfTagName contained cfldap cflocation cflock cflog cflogin cfloginuser cflogout cfloop cfmail

+syn keyword cfTagName contained cfmailparam cfmailpart cfmodule cfNTauthenticate cfobject cfobjectcache

+syn keyword cfTagName contained cfoutput cfparam cfpop cfprocessingdirective cfprocparam cfprocresult

+syn keyword cfTagName contained cfproperty cfquery cfqueryparam cfregistry cfreport cfreportparam cfrethrow

+syn keyword cfTagName contained cfreturn cfsavecontent cfschedule cfscript cfsearch cfselect cfset cfsetting

+syn keyword cfTagName contained cfsilent cfslider cfstoredproc cfswitch cftable cftextarea cfthrow cftimer

+syn keyword cfTagName contained cftrace cftransaction cftree cftreeitem cftry cfupdate cfwddx cfxml 

+

+" Tag parameters.

+syn keyword cfArg contained abort accept access accessible action addnewline addtoken addtoken agentname

+syn keyword cfArg contained align appendkey appletsource application applicationtimeout applicationtoken

+syn keyword cfArg contained archive argumentcollection arguments asciiextensionlist attachmentpath

+syn keyword cfArg contained attributecollection attributes attributes autowidth backgroundcolor

+syn keyword cfArg contained backgroundvisible basetag bcc bgcolor bind bindingname blockfactor body bold

+syn keyword cfArg contained border branch cachedafter cachedwithin casesensitive categories category

+syn keyword cfArg contained categorytree cc cfsqltype charset chartheight chartwidth checked class

+syn keyword cfArg contained clientmanagement clientstorage codebase colheaderalign colheaderbold

+syn keyword cfArg contained colheaderfont colheaderfontsize colheaderitalic colheaders colheadertextcolor

+syn keyword cfArg contained collection colorlist colspacing columns completepath component condition

+syn keyword cfArg contained connection contentid context contextbytes contexthighlightbegin

+syn keyword cfArg contained contexthighlightend contextpassages cookiedomain criteria custom1 custom2

+syn keyword cfArg contained custom3 custom4 data dataalign databackgroundcolor datacollection

+syn keyword cfArg contained datalabelstyle datasource date daynames dbname dbserver dbtype dbvarname debug

+syn keyword cfArg contained default delete deletebutton deletefile delimiter delimiters description

+syn keyword cfArg contained destination detail directory disabled display displayname disposition dn domain

+syn keyword cfArg contained enablecab enablecfoutputonly enabled encoded encryption enctype enddate

+syn keyword cfArg contained endrange endrow endtime entry errorcode exception existing expand expires

+syn keyword cfArg contained expireurl expression extendedinfo extends extensions external failifexists

+syn keyword cfArg contained failto file filefield filename filter firstdayofweek firstrowasheaders font

+syn keyword cfArg contained fontbold fontembed fontitalic fontsize foregroundcolor format formfields

+syn keyword cfArg contained formula from generateuniquefilenames getasbinary grid griddataalign gridlines

+syn keyword cfArg contained groovecolor group groupcasesensitive header headeralign headerbold headerfont

+syn keyword cfArg contained headerfontsize headeritalic headerlines headertextcolor height highlighthref

+syn keyword cfArg contained hint href hrefkey hscroll hspace htmltable id idletimeout img imgopen imgstyle

+syn keyword cfArg contained index inline input insert insertbutton interval isolation italic item

+syn keyword cfArg contained itemcolumn key keyonly label labelformat language list listgroups locale

+syn keyword cfArg contained localfile log loginstorage lookandfeel mailerid mailto marginbottom marginleft

+syn keyword cfArg contained marginright marginright margintop markersize markerstyle mask maxlength maxrows

+syn keyword cfArg contained message messagenumber method mimeattach mimetype mode modifytype monthnames

+syn keyword cfArg contained multipart multiple name namecomplict nameconflict namespace new newdirectory

+syn keyword cfArg contained notsupported null numberformat object omit onchange onclick onerror onkeydown

+syn keyword cfArg contained onkeyup onload onmousedown onmouseup onreset onsubmit onvalidate operation

+syn keyword cfArg contained orderby orientation output outputfile overwrite ownerpassword pageencoding

+syn keyword cfArg contained pageheight pagetype pagewidth paintstyle param_1 param_2 param_3 param_4

+syn keyword cfArg contained param_5 parent passive passthrough password path pattern permissions picturebar

+syn keyword cfArg contained pieslicestyle port porttypename prefix preloader preservedata previouscriteria

+syn keyword cfArg contained procedure protocol provider providerdsn proxybypass proxypassword proxyport

+syn keyword cfArg contained proxyserver proxyuser publish query queryasroot queryposition range rebind

+syn keyword cfArg contained recurse redirect referral refreshlabel remotefile replyto report requesttimeout

+syn keyword cfArg contained required reset resolveurl result resultset retrycount returnasbinary returncode

+syn keyword cfArg contained returntype returnvariable roles rowheaderalign rowheaderbold rowheaderfont

+syn keyword cfArg contained rowheaderfontsize rowheaderitalic rowheaders rowheadertextcolor rowheaderwidth

+syn keyword cfArg contained rowheight scale scalefrom scaleto scope scriptprotect scriptsrc secure

+syn keyword cfArg contained securitycontext select selectcolor selected selecteddate selectedindex

+syn keyword cfArg contained selectmode separator seriescolor serieslabel seriesplacement server serviceport

+syn keyword cfArg contained serviceportname sessionmanagement sessiontimeout setclientcookies setcookie

+syn keyword cfArg contained setdomaincookies show3d showborder showdebugoutput showerror showlegend

+syn keyword cfArg contained showmarkers showxgridlines showygridlines size skin sort sortascendingbutton

+syn keyword cfArg contained sortcontrol sortdescendingbutton sortxaxis source spoolenable sql src start

+syn keyword cfArg contained startdate startrange startrow starttime status statuscode statustext step

+syn keyword cfArg contained stoponerror style subject suggestions suppresswhitespace tablename tableowner

+syn keyword cfArg contained tablequalifier taglib target task template text textcolor textqualifier

+syn keyword cfArg contained thread throwonerror throwonfailure throwontimeout time timeout timespan tipbgcolor tipstyle

+syn keyword cfArg contained title to tooltip top toplevelvariable transfermode type uid unit url urlpath

+syn keyword cfArg contained useragent username userpassword usetimezoneinfo validate validateat value

+syn keyword cfArg contained valuecolumn values valuesdelimiter valuesdisplay var variable vertical visible

+syn keyword cfArg contained vscroll vspace webservice width wmode wraptext wsdlfile xaxistitle xaxistype

+syn keyword cfArg contained xoffset yaxistitle yaxistype yoffset

+

+" ColdFusion Functions.

+syn keyword cfFunctionName contained Abs GetFunctionList Max ACos GetGatewayHelper Mid AddSOAPRequestHeader

+syn keyword cfFunctionName contained GetHttpRequestData Min AddSOAPResponseHeader GetHttpTimeString Minute

+syn keyword cfFunctionName contained ArrayAppend GetLocale Month ArrayAvg GetLocaleDisplayName MonthAsString

+syn keyword cfFunctionName contained ArrayClear GetMetaData Now ArrayDeleteAt GetMetricData NumberFormat

+syn keyword cfFunctionName contained ArrayInsertAt GetPageContext ParagraphFormat ArrayIsEmpty GetProfileSections

+syn keyword cfFunctionName contained ParseDateTime ArrayLen GetProfileString Pi ArrayMax GetSOAPRequest

+syn keyword cfFunctionName contained PreserveSingleQuotes ArrayMin GetSOAPRequestHeader Quarter ArrayNew

+syn keyword cfFunctionName contained GetSOAPResponse QueryAddColumn ArrayPrepend GetSOAPResponseHeader QueryAddRow

+syn keyword cfFunctionName contained ArrayResize GetTempDirectory QueryNew ArraySet GetTempFile QuerySetCell

+syn keyword cfFunctionName contained ArraySort GetTickCount QuotedValueList ArraySum GetTimeZoneInfo Rand ArraySwap

+syn keyword cfFunctionName contained GetToken Randomize ArrayToList Hash RandRange Asc Hour REFind ASin

+syn keyword cfFunctionName contained HTMLCodeFormat REFindNoCase Atn HTMLEditFormat ReleaseComObject BinaryDecode

+syn keyword cfFunctionName contained IIf RemoveChars BinaryEncode IncrementValue RepeatString BitAnd InputBaseN

+syn keyword cfFunctionName contained Replace BitMaskClear Insert ReplaceList BitMaskRead Int ReplaceNoCase

+syn keyword cfFunctionName contained BitMaskSet IsArray REReplace BitNot IsBinary REReplaceNoCase BitOr IsBoolean

+syn keyword cfFunctionName contained Reverse BitSHLN IsCustomFunction Right BitSHRN IsDate RJustify BitXor

+syn keyword cfFunctionName contained IsDebugMode Round Ceiling IsDefined RTrim CharsetDecode IsLeapYear Second

+syn keyword cfFunctionName contained CharsetEncode IsNumeric SendGatewayMessage Chr IsNumericDate SetEncoding

+syn keyword cfFunctionName contained CJustify IsObject SetLocale Compare IsQuery SetProfileString CompareNoCase

+syn keyword cfFunctionName contained IsSimpleValue SetVariable Cos IsSOAPRequest Sgn CreateDate IsStruct Sin

+syn keyword cfFunctionName contained CreateDateTime IsUserInRole SpanExcluding CreateObject IsValid SpanIncluding

+syn keyword cfFunctionName contained CreateODBCDate IsWDDX Sqr CreateODBCDateTime IsXML StripCR CreateODBCTime

+syn keyword cfFunctionName contained IsXmlAttribute StructAppend CreateTime IsXmlDoc StructClear CreateTimeSpan

+syn keyword cfFunctionName contained IsXmlElem StructCopy CreateUUID IsXmlNode StructCount DateAdd IsXmlRoot

+syn keyword cfFunctionName contained StructDelete DateCompare JavaCast StructFind DateConvert JSStringFormat

+syn keyword cfFunctionName contained StructFindKey DateDiff LCase StructFindValue DateFormat Left StructGet

+syn keyword cfFunctionName contained DatePart Len StructInsert Day ListAppend StructIsEmpty DayOfWeek

+syn keyword cfFunctionName contained ListChangeDelims StructKeyArray DayOfWeekAsString ListContains StructKeyExists

+syn keyword cfFunctionName contained DayOfYear ListContainsNoCase StructKeyList DaysInMonth ListDeleteAt StructNew

+syn keyword cfFunctionName contained DaysInYear ListFind StructSort DE ListFindNoCase StructUpdate DecimalFormat

+syn keyword cfFunctionName contained ListFirst Tan DecrementValue ListGetAt TimeFormat Decrypt ListInsertAt

+syn keyword cfFunctionName contained ToBase64 DeleteClientVariable ListLast ToBinary DirectoryExists ListLen

+syn keyword cfFunctionName contained ToScript DollarFormat ListPrepend ToString Duplicate ListQualify Trim Encrypt

+syn keyword cfFunctionName contained ListRest UCase Evaluate ListSetAt URLDecode Exp ListSort URLEncodedFormat

+syn keyword cfFunctionName contained ExpandPath ListToArray URLSessionFormat FileExists ListValueCount Val Find

+syn keyword cfFunctionName contained ListValueCountNoCase ValueList FindNoCase LJustify Week FindOneOf Log Wrap

+syn keyword cfFunctionName contained FirstDayOfMonth Log10 WriteOutput Fix LSCurrencyFormat XmlChildPos FormatBaseN

+syn keyword cfFunctionName contained LSDateFormat XmlElemNew GetTempDirectory LSEuroCurrencyFormat XmlFormat

+syn keyword cfFunctionName contained GetAuthUser LSIsCurrency XmlGetNodeType GetBaseTagData LSIsDate XmlNew

+syn keyword cfFunctionName contained GetBaseTagList LSIsNumeric XmlParse GetBaseTemplatePath LSNumberFormat

+syn keyword cfFunctionName contained XmlSearch GetClientVariablesList LSParseCurrency XmlTransform

+syn keyword cfFunctionName contained GetCurrentTemplatePath LSParseDateTime XmlValidate GetDirectoryFromPath

+syn keyword cfFunctionName contained LSParseEuroCurrency Year GetEncoding LSParseNumber YesNoFormat GetException

+syn keyword cfFunctionName contained LSTimeFormat GetFileFromPath LTrim 

+

+syn cluster htmlTagNameCluster add=cfTagName

+syn cluster htmlArgCluster add=cfArg,cfHashRegion,cfScope

+syn cluster htmlPreproc add=cfHashRegion

+

+syn cluster cfExpressionCluster contains=cfFunctionName,cfScope,@cfOperatorCluster,cfScriptStringD,cfScriptStringS,cfScriptNumber,cfBool

+

+" Evaluation; skip strings ( this helps with cases like nested IIf() )

+syn region cfHashRegion start=+#+ skip=+"[^"]*"\|'[^']*'+ end=+#+ contains=@cfExpressionCluster,cfScriptParenError

+

+" <cfset>, <cfif>, <cfelseif>, <cfreturn> are analogous to hashmarks (implicit evaluation) and has 'var'

+syn region cfSetRegion start="<cfset " start="<cfreturn " start="<cfelseif " start="<cfif " end='>' keepend contains=@cfExpressionCluster,cfSetLHSRegion,cfSetTagEnd,cfScriptType

+syn region cfSetLHSRegion contained start="<cfreturn" start="<cfelseif" start="<cfif" start="<cfset" end=" " keepend contains=cfTagName,htmlTag

+syn match  cfSetTagEnd contained '>'

+

+" CF comments: similar to SGML comments

+syn region  cfComment     start='<!---' end='--->' keepend contains=cfCommentTodo

+syn keyword cfCommentTodo contained TODO FIXME XXX TBD WTF 

+

+" CFscript 

+syn match   cfScriptLineComment      contained "\/\/.*$" contains=cfCommentTodo

+syn region  cfScriptComment	     contained start="/\*"  end="\*/" contains=cfCommentTodo

+" in CF, quotes are escaped by doubling

+syn region  cfScriptStringD	     contained start=+"+  skip=+\\\\\|""+  end=+"+  extend contains=@htmlPreproc,cfHashRegion

+syn region  cfScriptStringS	     contained start=+'+  skip=+\\\\\|''+  end=+'+  extend contains=@htmlPreproc,cfHashRegion

+syn match   cfScriptNumber	     contained "-\=\<\d\+L\=\>"

+syn keyword cfScriptConditional      contained if else

+syn keyword cfScriptRepeat	     contained while for in

+syn keyword cfScriptBranch	     contained break switch case try catch continue

+syn keyword cfScriptFunction	     contained function

+syn keyword cfScriptType	     contained var

+syn match   cfScriptBraces	     contained "[{}]"

+syn keyword cfScriptStatement        contained return

+

+syn cluster cfScriptCluster contains=cfScriptParen,cfScriptLineComment,cfScriptComment,cfScriptStringD,cfScriptStringS,cfScriptFunction,cfScriptNumber,cfScriptRegexpString,cfScriptBoolean,cfScriptBraces,cfHashRegion,cfFunctionName,cfScope,@cfOperatorCluster,cfScriptConditional,cfScriptRepeat,cfScriptBranch,cfScriptType,@cfExpressionCluster,cfScriptStatement

+

+" Errors caused by wrong parenthesis; skip strings

+syn region  cfScriptParen       contained transparent skip=+"[^"]*"\|'[^']*'+ start=+(+ end=+)+ contains=@cfScriptCluster

+syn match   cfScrParenError 	contained +)+

+

+syn region cfscriptBlock matchgroup=NONE start="<cfscript>"  end="<\/cfscript>"me=s-1 keepend contains=@cfScriptCluster,cfscriptTag,cfScrParenError

+syn region  cfscriptTag contained start='<cfscript' end='>' keepend contains=cfTagName,htmlTag

+

+" Define the default highlighting.

+if version >= 508 || !exists("did_cf_syn_inits")

+  if version < 508

+    let did_cf_syn_inits = 1

+    command -nargs=+ HiLink hi link <args>

+  else

+    command -nargs=+ HiLink hi def link <args>

+  endif

+

+  HiLink cfTagName 		Statement

+  HiLink cfArg 			Type

+  HiLink cfFunctionName 	Function

+  HiLink cfHashRegion 		PreProc

+  HiLink cfComment 		Comment

+  HiLink cfCommentTodo 		Todo

+  HiLink cfOperator		Operator

+  HiLink cfOperatorMatch	Operator

+  HiLink cfScope		Title

+  HiLink cfBool			Constant

+

+  HiLink cfscriptBlock 		Special

+  HiLink cfscriptTag 		htmlTag

+  HiLink cfSetRegion 		PreProc

+  HiLink cfSetLHSRegion 	htmlTag

+  HiLink cfSetTagEnd		htmlTag

+

+  HiLink cfScriptLineComment	Comment

+  HiLink cfScriptComment	Comment

+  HiLink cfScriptStringS	String

+  HiLink cfScriptStringD	String

+  HiLink cfScriptNumber	     	cfScriptValue

+  HiLink cfScriptConditional	Conditional

+  HiLink cfScriptRepeat	     	Repeat

+  HiLink cfScriptBranch	     	Conditional

+  HiLink cfScriptType		Type

+  HiLink cfScriptStatement	Statement

+  HiLink cfScriptBraces	     	Function

+  HiLink cfScriptFunction    	Function

+  HiLink cfScriptError	     	Error

+  HiLink cfScrParenError	cfScriptError

+

+  delcommand HiLink

+endif

+

+let b:current_syntax = "cf"

+

+" vim: ts=8 sw=2

diff --git a/runtime/syntax/css.vim b/runtime/syntax/css.vim
index c24b299..269a9f8 100644
--- a/runtime/syntax/css.vim
+++ b/runtime/syntax/css.vim
@@ -2,7 +2,7 @@
 " Language:	Cascading Style Sheets
 " Maintainer:	Claudio Fleiner <claudio@fleiner.com>
 " URL:		http://www.fleiner.com/vim/syntax/css.vim
-" Last Change:	2004 Mar 30
+" Last Change:	2005 Nov 23
 " CSS2 by Nikolai Weibull
 " Full CSS2, HTML4 support by Yeti
 
@@ -38,7 +38,12 @@
 syn match cssSelectorOp2 "[~|]\?=" contained
 syn region cssAttributeSelector matchgroup=cssSelectorOp start="\[" end="]" transparent contains=cssUnicodeEscape,cssSelectorOp2,cssStringQ,cssStringQQ
 
+try
 syn match cssIdentifier "#[A-Za-zÀ-ÿ_@][A-Za-zÀ-ÿ0-9_@-]*"
+catch /^.*/
+syn match cssIdentifier "#[A-Za-z_@][A-Za-z0-9_@-]*"
+endtry
+
 
 syn match cssMedia "@media\>" nextgroup=cssMediaType skipwhite skipnl
 syn keyword cssMediaType contained screen print aural braile embosed handheld projection ty tv all nextgroup=cssMediaComma,cssMediaBlock skipwhite skipnl
@@ -270,5 +275,6 @@
   unlet main_syntax
 endif
 
+
 " vim: ts=8
 
diff --git a/runtime/syntax/d.vim b/runtime/syntax/d.vim
index 1b4995e..2ab9b25 100644
--- a/runtime/syntax/d.vim
+++ b/runtime/syntax/d.vim
@@ -1,9 +1,12 @@
-" Vim syntax file for the D programming language (version 0.116).
+" Vim syntax file for the D programming language (version 0.137).
 "
 " Language:	D
 " Maintainer:	Jason Mills<jmills@cs.mun.ca>
-" Last Change:	2005 Mar 09
-" Version:	0.12
+" Last Change:	2005 Oct 29
+" Version:	0.14
+"
+" Please email me with bugs, comments, and suggestion. Put vim in the subject
+" to ensure the email will not be marked has spam.
 "
 " Options:
 "   d_comment_strings - set to highlight strings and numbers in comments
@@ -21,6 +24,8 @@
 "
 "   - Mark contents of the asm statement body as special
 "
+"   - Highlight the string prefix r and and postfixes c,w,d
+"
 
 " Quit when a syntax file was already loaded
 if exists("b:current_syntax")
@@ -30,7 +35,7 @@
 " Keyword definitions
 "
 syn keyword dExternal		import package module extern
-syn keyword dConditional	if else switch
+syn keyword dConditional	if else switch iftype
 syn keyword dBranch		goto break continue
 syn keyword dRepeat		while for do foreach
 syn keyword dBoolean		true false
@@ -41,7 +46,7 @@
 syn keyword dOperator		new delete typeof typeid cast align is
 syn keyword dOperator		this super
 if exists("d_hl_operator_overload")
-  syn keyword dOpOverload	opNeg opCom opPostInc opPostDec opAdd opSub opSub_r
+  syn keyword dOpOverload	opNeg opCom opPostInc opPostDec opCast opAdd opSub opSub_r
   syn keyword dOpOverload	opMul opDiv opDiv_r opMod opMod_r opAnd opOr opXor
   syn keyword dOpOverload	opShl opShl_r opShr opShr_r opUShr opUShr_r opCat
   syn keyword dOpOverload	opCat_r opEquals opEquals opCmp opCmp opCmp opCmp
@@ -49,7 +54,7 @@
   syn keyword dOpOverload	opModAssign opAndAssign opOrAssign opXorAssign
   syn keyword dOpOverload	opShlAssign opShrAssign opUShrAssign opCatAssign
   syn keyword dOpOverload	opIndex opIndexAssign opCall opSlice opPos
-  syn keyword dOpOverload	opAdd_r opMul_r opAnd_r opOr_r opXor_r 
+  syn keyword dOpOverload	opAdd_r opMul_r opAnd_r opOr_r opXor_r
 endif
 syn keyword dType		ushort int uint long ulong float
 syn keyword dType		void byte ubyte double bit char wchar ucent cent
@@ -135,7 +140,7 @@
 "
 syn region dString	start=+"+ end=+"+ contains=dEscSequence,@Spell
 syn region dRawString	start=+`+ skip=+\\`+ end=+`+ contains=@Spell
-syn region dRawString	start=+r"+ skip=+\\"+ end=+"+ contains=@Spell
+"syn region dRawString	start=+r"+ skip=+\\"+ end=+"+ contains=@Spell
 syn region dHexString	start=+x"+ skip=+\\"+ end=+"+
 
 " Numbers
@@ -220,4 +225,4 @@
 
 let b:current_syntax = "d"
 
-" vim: ts=8
+" vim: ts=8 noet
diff --git a/runtime/syntax/eruby.vim b/runtime/syntax/eruby.vim
index 59f042d..c3cc435 100644
--- a/runtime/syntax/eruby.vim
+++ b/runtime/syntax/eruby.vim
@@ -2,14 +2,9 @@
 " Language:	eRuby
 " Maintainer:	Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
 " Info:		$Id$
-" URL:		http://vim-ruby.sourceforge.net
+" URL:		http://vim-ruby.rubyforge.org
 " Anon CVS:	See above site
-" Licence:	GPL (http://www.gnu.org)
-" Disclaimer:
-"    This program is distributed in the hope that it will be useful,
-"    but WITHOUT ANY WARRANTY; without even the implied warranty of
-"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-"    GNU General Public License for more details.
+" ----------------------------------------------------------------------------
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
diff --git a/runtime/syntax/java.vim b/runtime/syntax/java.vim
index 030e9ec..c6363d9 100644
--- a/runtime/syntax/java.vim
+++ b/runtime/syntax/java.vim
@@ -2,7 +2,7 @@
 " Language:     Java
 " Maintainer:   Claudio Fleiner <claudio@fleiner.com>
 " URL:		http://www.fleiner.com/vim/syntax/java.vim
-" Last Change:  2004 Nov 12
+" Last Change:  2005 Nov 04
 
 " Please check :help java.vim for comments on some of the options available.
 
@@ -58,8 +58,11 @@
 syn keyword javaClassDecl	enum
 syn match   javaClassDecl	"^class\>"
 syn match   javaClassDecl	"[^.]\s*\<class\>"ms=s+1
+syn match   javaAnnotation      "@[_$a-zA-Z][_$a-zA-Z0-9_]*\>"
+syn match   javaClassDecl       "@interface\>"
 syn keyword javaBranch		break continue nextgroup=javaUserLabelRef skipwhite
 syn match   javaUserLabelRef	"\k\+" contained
+syn match   javaVarArg          "\.\.\."
 syn keyword javaScopeDecl	public protected private abstract
 
 if exists("java_highlight_java_lang_ids") || exists("java_highlight_java_lang") || exists("java_highlight_all")
@@ -130,7 +133,7 @@
 endif
 
 " The following cluster contains all java groups except the contained ones
-syn cluster javaTop add=javaExternal,javaError,javaError,javaBranch,javaLabelRegion,javaLabel,javaConditional,javaRepeat,javaBoolean,javaConstant,javaTypedef,javaOperator,javaType,javaType,javaStatement,javaStorageClass,javaAssert,javaExceptions,javaMethodDecl,javaClassDecl,javaClassDecl,javaClassDecl,javaScopeDecl,javaError,javaError2,javaUserLabel,javaLangObject
+syn cluster javaTop add=javaExternal,javaError,javaError,javaBranch,javaLabelRegion,javaLabel,javaConditional,javaRepeat,javaBoolean,javaConstant,javaTypedef,javaOperator,javaType,javaType,javaStatement,javaStorageClass,javaAssert,javaExceptions,javaMethodDecl,javaClassDecl,javaClassDecl,javaClassDecl,javaScopeDecl,javaError,javaError2,javaUserLabel,javaLangObject,javaAnnotation,javaVarArg
 
 
 " Comments
@@ -283,6 +286,7 @@
     let did_java_syn_inits = 1
   endif
   JavaHiLink javaFuncDef		Function
+  JavaHiLink javaVarArg                 Function
   JavaHiLink javaBraces			Function
   JavaHiLink javaBranch			Conditional
   JavaHiLink javaUserLabelRef		javaUserLabel
@@ -314,6 +318,7 @@
   JavaHiLink javaConstant		Constant
   JavaHiLink javaTypedef		Typedef
   JavaHiLink javaTodo			Todo
+  JavaHiLink javaAnnotation             PreProc
 
   JavaHiLink javaCommentTitle		SpecialComment
   JavaHiLink javaDocTags		Special
diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim
index 10bf4db..9e959e1 100644
--- a/runtime/syntax/javascript.vim
+++ b/runtime/syntax/javascript.vim
@@ -1,8 +1,13 @@
 " Vim syntax file
 " Language:	JavaScript
 " Maintainer:	Claudio Fleiner <claudio@fleiner.com>
+" Updaters:	Scott Shattuck (ss) <ss@technicalpursuit.com>
 " URL:		http://www.fleiner.com/vim/syntax/javascript.vim
-" Last Change:	2005 Jul 13
+" Changes:	(ss) added keywords, reserved words, and other identifiers
+"		(ss) repaired several quoting and grouping glitches
+"		(ss) fixed regex parsing issue with multiple qualifiers [gi]
+"		(ss) additional factoring of keywords, globals, and members
+" Last Change:	2005 Nov 12 (ss)
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -27,23 +32,33 @@
 
 
 syn keyword javaScriptCommentTodo      TODO FIXME XXX TBD contained
-syn match   javaScriptLineComment      "\/\/.*$" contains=javaScriptCommentTodo
+syn match   javaScriptLineComment      "\/\/.*" contains=javaScriptCommentTodo
 syn match   javaScriptCommentSkip      "^[ \t]*\*\($\|[ \t]\+\)"
 syn region  javaScriptComment	       start="/\*"  end="\*/" contains=javaScriptCommentTodo
 syn match   javaScriptSpecial	       "\\\d\d\d\|\\."
-syn region  javaScriptStringD	       start=+"+  skip=+\\\\\|\\"+  end=+"+  contains=javaScriptSpecial,@htmlPreproc
-syn region  javaScriptStringS	       start=+'+  skip=+\\\\\|\\'+  end=+'+  contains=javaScriptSpecial,@htmlPreproc
+syn region  javaScriptStringD	       start=+"+  skip=+\\\\\|\\"+  end=+"\|$+  contains=javaScriptSpecial,@htmlPreproc
+syn region  javaScriptStringS	       start=+'+  skip=+\\\\\|\\'+  end=+'\|$+  contains=javaScriptSpecial,@htmlPreproc
+
 syn match   javaScriptSpecialCharacter "'\\.'"
 syn match   javaScriptNumber	       "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
-syn region  javaScriptRegexpString     start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\?\s*$+ end=+/[gi]\?\s*[;.,)]+me=e-1 contains=@htmlPreproc oneline
-syn keyword javaScriptConditional	if else
-syn keyword javaScriptRepeat		while for
-syn keyword javaScriptBranch		break continue switch case default
-syn keyword javaScriptOperator		new in
-syn keyword javaScriptType		this var const
+syn region  javaScriptRegexpString     start=+/[^/*]+me=e-1 skip=+\\\\\|\\/+ end=+/[gi]\{0,2\}\s*$+ end=+/[gi]\{0,2\}\s*[;.,)]+me=e-1 contains=@htmlPreproc oneline
+
+syn keyword javaScriptConditional	if else switch
+syn keyword javaScriptRepeat		while for do in
+syn keyword javaScriptBranch		break continue
+syn keyword javaScriptOperator		new delete instanceof typeof
+syn keyword javaScriptType		Array Boolean Date Function Number Object String RegExp
 syn keyword javaScriptStatement		return with
 syn keyword javaScriptBoolean		true false
-syn keyword javaScriptNull		null
+syn keyword javaScriptNull		null undefined
+syn keyword javaScriptIdentifier	arguments this var
+syn keyword javaScriptLabel		case default
+syn keyword javaScriptException		try catch finally throw
+syn keyword javaScriptMessage		alert confirm prompt status
+syn keyword javaScriptGlobal		self window top parent
+syn keyword javaScriptMember		document event location 
+syn keyword javaScriptDeprecated	escape unescape
+syn keyword javaScriptReserved		abstract boolean byte char class const debugger double enum export extends final float goto implements import int interface long native package private protected public short static super synchronized throws transient volatile 
 
 if exists("javaScript_fold")
     syn match	javaScriptFunction      "\<function\>"
@@ -56,17 +71,13 @@
     setlocal foldtext=getline(v:foldstart)
 else
     syn keyword	javaScriptFunction      function
-    syn match	javaScriptBraces	   "[{}]"
+    syn match	javaScriptBraces	   "[{}\[\]]"
+    syn match	javaScriptParens	   "[()]"
 endif
 
 syn sync fromstart
 syn sync maxlines=100
 
-" catch errors caused by wrong parenthesis
-syn region  javaScriptParen       transparent start="(" end=")" contains=javaScriptParen,javaScriptComment,javaScriptSpecial,javaScriptStringD,javaScriptStringS,javaScriptSpecialCharacter,javaScriptNumber,javaScriptRegexpString,javaScriptBoolean,javaScriptBraces,javaScriptFunction,javaScriptFunctionFold,javaScriptConditional,javaScriptRepeat,javaScriptBranch,javaScriptOperator,javaScriptType,javaScriptStatement,javaScriptBoolean,javaScriptConstant
-" syn region  javaScriptParen       transparent start="(" end=")" contains=javaScriptParen,javaScriptComment,javaScriptSpecial,javaScriptStringD,javaScriptStringS,javaScriptSpecialCharacter,javaScriptNumber,javaScriptRegexpString,javaScriptBoolean,javaScriptBraces
-syn match   javaScrParenError  ")"
-
 if main_syntax == "javascript"
   syn sync ccomment javaScriptComment
 endif
@@ -103,6 +114,18 @@
   HiLink javaScriptNull			Keyword
   HiLink javaScriptBoolean		Boolean
   HiLink javaScriptRegexpString		String
+
+  HiLink javaScriptIdentifier		Identifier
+  HiLink javaScriptLabel		Label
+  HiLink javaScriptException		Exception
+  HiLink javaScriptMessage		Keyword
+  HiLink javaScriptGlobal		Keyword
+  HiLink javaScriptMember		Keyword
+  HiLink javaScriptDeprecated		Exception 
+  HiLink javaScriptReserved		Keyword
+  HiLink javaScriptDebug		Debug
+  HiLink javaScriptConstant		Label
+
   delcommand HiLink
 endif
 
diff --git a/runtime/syntax/lisp.vim b/runtime/syntax/lisp.vim
index e47f0a1..61792d1 100644
--- a/runtime/syntax/lisp.vim
+++ b/runtime/syntax/lisp.vim
@@ -2,19 +2,13 @@
 " Language:    Lisp
 " Maintainer:  Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
 " Last Change: Oct 12, 2005
-" Version:     16
+" Version:     17a
 " URL:	       http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 "
 "  Thanks to F Xavier Noria for a list of 978 Common Lisp symbols
 "  taken from the HyperSpec
-"
-"  Options:
-"    g:lisp_instring : if it exists, then "(...") strings are highlighted
-"		       as if the contents were lisp.  Useful for AutoLisp.
-"		       Put
-"		         let g:lisp_instring=1
-"		       into your <.vimrc> if you want this option.
 
+" ---------------------------------------------------------------------
 "  Load Once: {{{1
 " For vim-version 5.x: Clear all syntax items
 " For vim-version 6.x: Quit when a syntax file was already loaded
@@ -30,6 +24,7 @@
  set iskeyword=42,43,45,47-58,60-62,64-90,97-122,_
 endif
 
+" ---------------------------------------------------------------------
 " Clusters: {{{1
 syn cluster			 lispAtomCluster		  contains=lispAtomBarSymbol,lispAtomList,lispAtomNmbr0,lispComment,lispDecl,lispFunc,lispLeadWhite
 syn cluster			 lispBaseListCluster		  contains=lispAtom,lispAtomBarSymbol,lispAtomMark,lispBQList,lispBarSymbol,lispComment,lispConcat,lispDecl,lispFunc,lispKey,lispList,lispNumber,lispSpecial,lispSymbol,lispVar,lispLeadWhite
@@ -39,6 +34,7 @@
  syn cluster			 lispListCluster		  contains=@lispBaseListCluster,lispString
 endif
 
+" ---------------------------------------------------------------------
 " Lists: {{{1
 syn match			 lispSymbol			  contained			   ![^()'`,"; \t]\+!
 syn match			 lispBarSymbol			  contained			   !|..\{-}|!
@@ -58,6 +54,7 @@
  syn region			 lispBQList			  matchgroup=PreProc   start="`("  skip="|.\{-}|"		    matchgroup=PreProc   end=")"		contains=@lispListCluster
 endif
 
+" ---------------------------------------------------------------------
 " Atoms: {{{1
 syn match			 lispAtomMark			  "'"
 syn match			 lispAtom			  "'("me=e-1			   contains=lispAtomMark	    nextgroup=lispAtomList
@@ -68,6 +65,7 @@
 syn match			 lispAtomNmbr			  contained			   "\<\d\+"
 syn match			 lispLeadWhite			  contained			   "^\s\+"
 
+" ---------------------------------------------------------------------
 " Standard Lisp Functions and Macros: {{{1
 syn keyword lispFunc		 *				  find-method			   pprint-indent
 syn keyword lispFunc		 **				  find-package			   pprint-linear
@@ -386,6 +384,7 @@
 
 syn match   lispFunc		 "\<c[ad]\+r\>"
 
+" ---------------------------------------------------------------------
 " Lisp Keywords (modifiers): {{{1
 syn keyword lispKey		 :abort				  :from-end			   :overwrite
 syn keyword lispKey		 :adjustable			  :gensym			   :predicate
@@ -414,6 +413,7 @@
 syn keyword lispKey		 :escape			  :output-file			   :version
 syn keyword lispKey		 :external
 
+" ---------------------------------------------------------------------
 " Standard Lisp Variables: {{{1
 syn keyword lispVar		 *applyhook*			  *load-pathname*		   *print-pprint-dispatch*
 syn keyword lispVar		 *break-on-signals*		  *load-print*			   *print-pprint-dispatch*
@@ -434,6 +434,7 @@
 syn keyword lispVar		 *features*			  *print-miser-width*		   *terminal-io*
 syn keyword lispVar		 *gensym-counter*		  *print-miser-width*		   *trace-output*
 
+" ---------------------------------------------------------------------
 " Strings: {{{1
 syn region			 lispString			  start=+"+ skip=+\\\\\|\\"+ end=+"+
 if exists("g:lisp_instring")
@@ -441,6 +442,7 @@
  syn region			 lispInStringString		  start=+\\"+ skip=+\\\\+ end=+\\"+ contained
 endif
 
+" ---------------------------------------------------------------------
 " Shared with Xlisp, Declarations, Macros, Functions: {{{1
 syn keyword lispDecl		 defmacro			  do-all-symbols		   labels
 syn keyword lispDecl		 defsetf			  do-external-symbols		   let
@@ -448,6 +450,7 @@
 syn keyword lispDecl		 defun				  dotimes			   macrolet
 syn keyword lispDecl		 do*				  flet				   multiple-value-bind
 
+" ---------------------------------------------------------------------
 " Numbers: supporting integers and floating point numbers {{{1
 syn match lispNumber		 "-\=\(\.\d\+\|\d\+\(\.\d*\)\=\)\(e[-+]\=\d\+\)\="
 
@@ -463,6 +466,7 @@
 syn match lispConcat		 "\s\.\s"
 syn match lispParenError	 ")"
 
+" ---------------------------------------------------------------------
 " Comments: {{{1
 syn cluster lispCommentGroup	 contains=lispTodo,@Spell
 syn match   lispComment		 ";.*$"				  contains=@lispCommentGroup
@@ -471,19 +475,16 @@
 syn keyword lispTodo		 contained			  combak			   combak:			    todo			     todo:
 syn case match
 
+" ---------------------------------------------------------------------
 " Synchronization: {{{1
 syn sync lines=100
 
+" ---------------------------------------------------------------------
 " Define Highlighting: {{{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
-if version >= 508 || !exists("did_lisp_syntax_inits")
-  if version < 508
-    let did_lisp_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
+if version >= 508
+  command -nargs=+ HiLink hi def link <args>
 
   HiLink lispCommentRegion	 lispComment
   HiLink lispAtomNmbr		 lispNumber
@@ -508,27 +509,27 @@
 
   if exists("g:lisp_rainbow") && g:lisp_rainbow != 0
    if &bg == "dark"
-    hi   hlLevel0 ctermfg=red         guifg=red1
-    hi   hlLevel1 ctermfg=yellow      guifg=orange1      
-    hi   hlLevel2 ctermfg=green       guifg=yellow1      
-    hi   hlLevel3 ctermfg=cyan        guifg=greenyellow  
-    hi   hlLevel4 ctermfg=magenta     guifg=green1       
-    hi   hlLevel5 ctermfg=red         guifg=springgreen1 
-    hi   hlLevel6 ctermfg=yellow      guifg=cyan1        
-    hi   hlLevel7 ctermfg=green       guifg=slateblue1   
-    hi   hlLevel8 ctermfg=cyan        guifg=magenta1     
-    hi   hlLevel9 ctermfg=magenta     guifg=purple1
+    hi def hlLevel0 ctermfg=red         guifg=red1
+    hi def hlLevel1 ctermfg=yellow      guifg=orange1      
+    hi def hlLevel2 ctermfg=green       guifg=yellow1      
+    hi def hlLevel3 ctermfg=cyan        guifg=greenyellow  
+    hi def hlLevel4 ctermfg=magenta     guifg=green1       
+    hi def hlLevel5 ctermfg=red         guifg=springgreen1 
+    hi def hlLevel6 ctermfg=yellow      guifg=cyan1        
+    hi def hlLevel7 ctermfg=green       guifg=slateblue1   
+    hi def hlLevel8 ctermfg=cyan        guifg=magenta1     
+    hi def hlLevel9 ctermfg=magenta     guifg=purple1
    else
-    hi   hlLevel0 ctermfg=red         guifg=red3
-    hi   hlLevel1 ctermfg=darkyellow  guifg=orangered3
-    hi   hlLevel2 ctermfg=darkgreen   guifg=orange2
-    hi   hlLevel3 ctermfg=blue        guifg=yellow3
-    hi   hlLevel4 ctermfg=darkmagenta guifg=olivedrab4
-    hi   hlLevel5 ctermfg=red         guifg=green4
-    hi   hlLevel6 ctermfg=darkyellow  guifg=paleturquoise3
-    hi   hlLevel7 ctermfg=darkgreen   guifg=deepskyblue4
-    hi   hlLevel8 ctermfg=blue        guifg=darkslateblue
-    hi   hlLevel9 ctermfg=darkmagenta guifg=darkviolet
+    hi def hlLevel0 ctermfg=red         guifg=red3
+    hi def hlLevel1 ctermfg=darkyellow  guifg=orangered3
+    hi def hlLevel2 ctermfg=darkgreen   guifg=orange2
+    hi def hlLevel3 ctermfg=blue        guifg=yellow3
+    hi def hlLevel4 ctermfg=darkmagenta guifg=olivedrab4
+    hi def hlLevel5 ctermfg=red         guifg=green4
+    hi def hlLevel6 ctermfg=darkyellow  guifg=paleturquoise3
+    hi def hlLevel7 ctermfg=darkgreen   guifg=deepskyblue4
+    hi def hlLevel8 ctermfg=blue        guifg=darkslateblue
+    hi def hlLevel9 ctermfg=darkmagenta guifg=darkviolet
    endif
   endif
 
@@ -537,4 +538,5 @@
 
 let b:current_syntax = "lisp"
 
+" ---------------------------------------------------------------------
 " vim: ts=8 nowrap fdm=marker
diff --git a/runtime/syntax/mush.vim b/runtime/syntax/mush.vim
index 5565927..d43740b 100644
--- a/runtime/syntax/mush.vim
+++ b/runtime/syntax/mush.vim
@@ -1,7 +1,8 @@
 " MUSHcode syntax file
-" Maintainer:	Bek Oberin <gossamer@tertius.net.au>
-" Last updated by Rimnal on Mon Aug 20 08:28:56 MDT 2001
-
+" Maintainer: Rick Bird <nveid@nveid.com>	
+" Based on vim Syntax file by: Bek Oberin <gossamer@tertius.net.au>
+" Last Updated: Fri Nov 04 20:28:15 2005
+"
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
 if version < 600
@@ -12,57 +13,115 @@
 
 
 " regular mush functions
-syntax keyword mushFunction contained abs acos add after and andflags aposs
-syntax keyword mushFunction contained asin atan before capstr cat ceil center
-syntax keyword mushFunction contained comp con conn controls convsecs convtime
-syntax keyword mushFunction contained cos default delete dist2d dist3d div e
-syntax keyword mushFunction contained edefault edit elements elock eq escape
-syntax keyword mushFunction contained exit exp extract fdiv filter first flags
-syntax keyword mushFunction contained floor fold foreach findable fullname get
-syntax keyword mushFunction contained get_eval grab gt gte hasattr hasflag
-syntax keyword mushFunction contained home idle index insert isdbref isnum
-syntax keyword mushFunction contained isword iter last lattr lcon lcstr
-syntax keyword mushFunction contained ldelete left lexits ljust ln lnum loc
-syntax keyword mushFunction contained locate lock log lpos lt lte lwho map
-syntax keyword mushFunction contained match matchall max member merge mid min
-syntax keyword mushFunction contained mix mod money mudname mul munge name
-syntax keyword mushFunction contained nearby neq next not num obj objeval
-syntax keyword mushFunction contained objmem or orflags owner parent parse pi
-syntax keyword mushFunction contained ports pos poss power r rand remove repeat
-syntax keyword mushFunction contained replace rest reverse revwords right
-syntax keyword mushFunction contained rjust rloc room round s scramble search
-syntax keyword mushFunction contained secs secure setdiff setinter setq
-syntax keyword mushFunction contained setunion shuffle sign sin sort sortby
-syntax keyword mushFunction contained space splice sqrt squish starttime stats
-syntax keyword mushFunction contained strlen strmatch sub subj switch tan time
-syntax keyword mushFunction contained trim trunc type u ucstr udefault ulocal
-syntax keyword mushFunction contained v version visible where wordpos words
-syntax keyword mushFunction contained xcon xor
-" only highligh functions when they have an in-bracket immediately after
-syntax match mushFunctionBrackets  "\i\I*(" contains=mushFunction
 
+syntax keyword mushFunction contained @@ abs accent accname acos add after align
+syntax keyword mushFunction contained allof alphamax alphamin and andflags
+syntax keyword mushFunction contained andlflags andlpowers andpowers ansi aposs art
+syntax keyword mushFunction contained asin atan atan2 atrlock attrcnt band baseconv
+syntax keyword mushFunction contained beep before blank2tilde bnand bnot bor bound
+syntax keyword mushFunction contained brackets break bxor cand cansee capstr case
+syntax keyword mushFunction contained caseall cat ceil center checkpass children
+syntax keyword mushFunction contained chr clone cmds cnetpost comp con config conn
+syntax keyword mushFunction contained controls convsecs convtime convutcsecs cor
+syntax keyword mushFunction contained cos create ctime ctu dec decrypt default
+syntax keyword mushFunction contained delete die dig digest dist2d dist3d div
+syntax keyword mushFunction contained division divscope doing downdiv dynhelp e
+syntax keyword mushFunction contained edefault edit element elements elist elock
+syntax keyword mushFunction contained emit empire empower encrypt endtag entrances
+syntax keyword mushFunction contained eq escape etimefmt eval exit exp extract fdiv
+syntax keyword mushFunction contained filter filterbool findable first firstof
+syntax keyword mushFunction contained flags flip floor floordiv fmod fold
+syntax keyword mushFunction contained folderstats followers following foreach
+syntax keyword mushFunction contained fraction fullname functions get get_eval grab
+syntax keyword mushFunction contained graball grep grepi gt gte hasattr hasattrp
+syntax keyword mushFunction contained hasattrpval hasattrval hasdivpower hasflag
+syntax keyword mushFunction contained haspower haspowergroup hastype height hidden
+syntax keyword mushFunction contained home host hostname html idle idlesecs
+syntax keyword mushFunction contained idle_average idle_times idle_total if ifelse
+syntax keyword mushFunction contained ilev iname inc index indiv indivall insert
+syntax keyword mushFunction contained inum ipaddr isdaylight isdbref isint isnum
+syntax keyword mushFunction contained isword itemize items iter itext last lattr
+syntax keyword mushFunction contained lcon lcstr ldelete ldivisions left lemit
+syntax keyword mushFunction contained level lexits lflags link list lit ljust lmath
+syntax keyword mushFunction contained ln lnum loc localize locate lock loctree log
+syntax keyword mushFunction contained lparent lplayers lports lpos lsearch lsearchr
+syntax keyword mushFunction contained lstats lt lte lthings lvcon lvexits lvplayers
+syntax keyword mushFunction contained lvthings lwho mail maildstats mailfrom
+syntax keyword mushFunction contained mailfstats mailstats mailstatus mailsubject
+syntax keyword mushFunction contained mailtime map match matchall max mean median
+syntax keyword mushFunction contained member merge mid min mix mod modulo modulus
+syntax keyword mushFunction contained money mtime mudname mul munge mwho name nand
+syntax keyword mushFunction contained nattr ncon nearby neq nexits next nor not
+syntax keyword mushFunction contained nplayers nsemit nslemit nsoemit nspemit
+syntax keyword mushFunction contained nsremit nszemit nthings null num nvcon
+syntax keyword mushFunction contained nvexits nvplayers nvthings obj objeval objid
+syntax keyword mushFunction contained objmem oemit ooref open or ord orflags
+syntax keyword mushFunction contained orlflags orlpowers orpowers owner parent
+syntax keyword mushFunction contained parse pcreate pemit pi pickrand playermem
+syntax keyword mushFunction contained pmatch poll ports pos poss power powergroups
+syntax keyword mushFunction contained powers powover program prompt pueblo quitprog
+syntax keyword mushFunction contained quota r rand randword recv regedit regeditall
+syntax keyword mushFunction contained regeditalli regediti regmatch regmatchi
+syntax keyword mushFunction contained regrab regraball regraballi regrabi regrep
+syntax keyword mushFunction contained regrepi remainder remit remove repeat replace
+syntax keyword mushFunction contained rest restarts restarttime reswitch
+syntax keyword mushFunction contained reswitchall reswitchalli reswitchi reverse
+syntax keyword mushFunction contained revwords right rjust rloc rnum room root
+syntax keyword mushFunction contained round s scan scramble search secs secure sent
+syntax keyword mushFunction contained set setdiff setinter setq setr setunion sha0
+syntax keyword mushFunction contained shl shr shuffle sign signal sin sort sortby
+syntax keyword mushFunction contained soundex soundlike soundslike space spellnum
+syntax keyword mushFunction contained splice sql sqlescape sqrt squish ssl
+syntax keyword mushFunction contained starttime stats stddev step strcat strinsert
+syntax keyword mushFunction contained stripaccents stripansi strlen strmatch
+syntax keyword mushFunction contained strreplace sub subj switch switchall t table
+syntax keyword mushFunction contained tag tagwrap tan tel terminfo textfile
+syntax keyword mushFunction contained tilde2blank time timefmt timestring tr
+syntax keyword mushFunction contained trigger trim trimpenn trimtiny trunc type u
+syntax keyword mushFunction contained ucstr udefault ufun uldefault ulocal updiv
+syntax keyword mushFunction contained utctime v vadd val valid vcross vdim vdot
+syntax keyword mushFunction contained version visible vmag vmax vmin vmul vsub
+syntax keyword mushFunction contained vtattr vtcount vtcreate vtdestroy vtlcon
+syntax keyword mushFunction contained vtloc vtlocate vtmaster vtname vtref vttel
+syntax keyword mushFunction contained vunit wait where width wipe wordpos words
+syntax keyword mushFunction contained wrap xcon xexits xget xor xplayers xthings
+syntax keyword mushFunction contained xvcon xvexits xvplayers xvthings zemit zfun
+syntax keyword mushFunction contained zmwho zone zwho
+
+" only highligh functions when they have an in-bracket immediately after
+syntax match mushFunctionBrackets  "\i*(" contains=mushFunction
+"
 " regular mush commands
-syntax keyword mushAtCommandList contained @alias @chown @clone @create
-syntax keyword mushAtCommandList contained @decompile @destroy @doing @dolist
-syntax keyword mushAtCommandList contained @drain @edit @emit @entrances @femit
-syntax keyword mushAtCommandList contained @force @fpose @fsay @halt @last
-syntax keyword mushAtCommandList contained @link @list @listmotd @lock @mudwho
-syntax keyword mushAtCommandList contained @mvattr @name @notify @oemit @parent
-syntax keyword mushAtCommandList contained @password @pemit @ps @quota @robot
-syntax keyword mushAtCommandList contained @search @set @stats @sweep @switch
-syntax keyword mushAtCommandList contained @teleport @trigger @unlink @unlock
-syntax keyword mushAtCommandList contained @verb @wait @wipe
+syntax keyword mushAtCommandList contained @ALLHALT @ALLQUOTA @ASSERT @ATRCHOWN @ATRLOCK @ATTRIBUTE @BOOT 
+syntax keyword mushAtCommandList contained @BREAK @CEMIT @CHANNEL @CHAT @CHOWN @CHOWNALL @CHZONE @CHZONEALL 
+syntax keyword mushAtCommandList contained @CLOCK @CLONE @COBJ @COMMAND @CONFIG @CPATTR @CREATE @CRPLOG @DBCK
+syntax keyword mushAtCommandList contained @DECOMPILE @DESTROY @DIG @DISABLE @DIVISION @DOING @DOLIST @DRAIN 
+syntax keyword mushAtCommandList contained @DUMP @EDIT @ELOCK @EMIT @EMPOWER @ENABLE @ENTRANCES @EUNLOCK @FIND 
+syntax keyword mushAtCommandList contained @FIRSTEXIT @FLAG @FORCE @FUNCTION @EDIT @GREP @HALT @HIDE @HOOK @KICK 
+syntax keyword mushAtCommandList contained @LEMIT @LEVEL @LINK @LIST @LISTMOTD @LOCK @LOG @LOGWIPE @LSET @MAIL @MALIAS 
+syntax keyword mushAtCommandList contained @MAP @MOTD @MVATTR @NAME @NEWPASSWORD @NOTIFY @NSCEMIT @NSEMIT @NSLEMIT 
+syntax keyword mushAtCommandList contained @NSOEMIT @NSPEMIT @NSPEMIT @NSREMIT @NSZEMIT @NUKE @OEMIT @OPEN @PARENT @PASSWORD
+syntax keyword mushAtCommandList contained @PCREATE @PEMIT @POLL @POOR @POWERLEVEL @PROGRAM @PROMPT @PS @PURGE @QUOTA 
+syntax keyword mushAtCommandList contained @READCACHE @RECYCLE @REJECTMOTD @REMIT @RESTART @SCAN @SEARCH @SELECT @SET 
+syntax keyword mushAtCommandList contained @SHUTDOWN @SITELOCK @SNOOP @SQL @SQUOTA @STATS @SWITCH @SWEEP @SWITCH @TELEPORT 
+syntax keyword mushAtCommandList contained @TRIGGER @ULOCK @UNDESTROY @UNLINK @UNLOCK @UNRECYCLE @UPTIME @UUNLOCK @VERB 
+syntax keyword mushAtCommandList contained @VERSION @WAIT @WALL @WARNINGS @WCHECK @WHEREIS @WIPE @ZCLONE @ZEMIT
 syntax match mushCommand  "@\i\I*" contains=mushAtCommandList
 
 
-syntax keyword mushCommand drop enter examine get give goto help inventory
-syntax keyword mushCommand kill leave look news page pose say score use
-syntax keyword mushCommand version whisper DOING LOGOUT OUTPUTPREFIX
-syntax keyword mushCommand OUTPUTSUFFIX QUIT SESSION WHO
+syntax keyword mushCommand AHELP ANEWS ATTRIB_SET BRIEF BRIEF BUY CHANGES DESERT
+syntax keyword mushCommand DISMISS DROP EMPTY ENTER EXAMINE FOLLOW GET GIVE GOTO 
+syntax keyword mushCommand HELP HUH_COMMAND INVENTORY INVENTORY LOOK LEAVE LOOK
+syntax keyword mushCommand GOTO NEWS PAGE PAGE POSE RULES SAY SCORE SEMIPOSE 
+syntax keyword mushCommand SPECIALNEWS TAKE TEACH THINK UNFOLLOW USE WHISPER WHISPER
+syntax keyword mushCommand WARN_ON_MISSING WHISPER WITH
 
 syntax match mushSpecial     "\*\|!\|=\|-\|\\\|+"
 syntax match mushSpecial2 contained     "\*"
 
+syn region    mushString         start=+L\="+ skip=+\\\\\|\\"+ end=+"+ contains=mushSpecial,mushSpecial2,@Spell
+
+
 syntax match mushIdentifier   "&[^ ]\+"
 
 syntax match mushVariable   "%r\|%t\|%cr\|%[A-Za-z0-9]\+\|%#\|##\|here"
@@ -73,9 +132,32 @@
 " A comment line starts with a or # or " at the start of the line
 " or an @@
 syntax keyword mushTodo contained	TODO FIXME XXX
-syntax match	mushComment	+^\s*@@.*$+	contains=mushTodo
-syntax match	mushComment	+^".*$+	contains=mushTodo
-syntax match	mushComment	+^#.*$+	contains=mushTodo
+syntax cluster mushCommentGroup contains=mushTodo
+syntax match	mushComment	"^\s*@@.*$"	contains=mushTodo
+syntax match mushComment "^#[^define|^ifdef|^else|^pragma|^ifndef|^echo|^elif|^undef|^warning].*$" contains=mushTodo
+syntax match mushComment "^#$" contains=mushTodo
+syntax region mushComment        matchgroup=mushCommentStart start="/@@" end="@@/" contains=@mushCommentGroup,mushCommentStartError,mushCommentString,@Spell
+syntax region mushCommentString  contained start=+L\=\\\@<!"+ skip=+\\\\\|\\"+ end=+"+ end=+@@/+me=s-1 contains=mushCommentSkip
+syntax match  mushCommentSkip    contained "^\s*@@\($\|\s\+\)"
+
+
+syntax match mushCommentStartError display "/@@"me=e-1 contained
+
+" syntax match	mushComment	+^".*$+	contains=mushTodo
+" Work on this one
+" syntax match	mushComment	+^#.*$+	contains=mushTodo
+
+syn region      mushPreCondit      start="^\s*\(%:\|#\)\s*\(if\|ifdef\|ifndef\|elif\)\>" skip="\\$" end="$" end="//"me=s-1 contains=mushComment
+syn match       mushPreCondit      display "^\s*\(%:\|#\)\s*\(else\|endif\)\>"
+
+syn cluster     mushPreProcGroup   contains=mushPreCondit,mushIncluded,mushInclude,mushDefine,mushSpecial,mushString,mushCommentSkip,mushCommentString,@mushCommentGroup,mushCommentStartError
+
+syn region      mushIncluded       display contained start=+"+ skip=+\\\\\|\\"+ end=+"+
+syn match       mushIncluded       display contained "<[^>]*>"
+syn match       mushInclude        display "^\s*\(%:\|#\)\s*include\>\s*["<]" contains=mushIncluded
+syn region	mushDefine		start="^\s*\(%:\|#\)\s*\(define\|undef\)\>" skip="\\$" end="$" end="//"me=s-1 contains=ALLBUT,@mushPreProcGroup,@Spell
+syn region	mushPreProc	start="^\s*\(%:\|#\)\s*\(pragma\>\|line\>\|warning\>\|warn\>\|error\>\)" skip="\\$" end="$" keepend contains=ALLBUT,@mushPreProcGroup
+
 
 syntax region	mushFuncBoundaries start="\[" end="\]" contains=mushFunction,mushFlag,mushAttributes,mushNumber,mushCommand,mushVariable,mushSpecial2
 
@@ -114,7 +196,6 @@
   " The default methods for highlighting.  Can be overridden later
   HiLink mushAttribute  Constant
   HiLink mushCommand    Function
-  HiLink mushComment    Comment
   HiLink mushNumber     Number
   HiLink mushSetting    PreProc
   HiLink mushFunction   Statement
@@ -123,6 +204,20 @@
   HiLink mushTodo       Todo
   HiLink mushFlag       Special
   HiLink mushIdentifier Identifier
+  HiLink mushDefine     Macro
+  HiLink mushPreProc    PreProc
+  HiLink mushPreProcGroup PreProc 
+  HiLink mushPreCondit PreCondit
+  HiLink mushIncluded cString
+  HiLink  mushInclude Include
+
+
+
+" Comments
+  HiLink mushCommentStart mushComment
+  HiLink mushComment    Comment
+  HiLink mushCommentString mushString
+
 
   delcommand HiLink
 endif
diff --git a/runtime/syntax/perl.vim b/runtime/syntax/perl.vim
index 8cd40b4..ff566e1 100644
--- a/runtime/syntax/perl.vim
+++ b/runtime/syntax/perl.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	Perl
 " Maintainer:	Nick Hibma <n_hibma@van-laarhoven.org>
-" Last Change:	2005 Oct 06
+" Last Change:	2005 October 18
 " Location:	http://www.van-laarhoven.org/vim/syntax/perl.vim
 "
 " Please download most recent version first before mailing
@@ -47,18 +47,18 @@
   syn include @Pod syntax/pod.vim
   unlet b:current_syntax
   if exists("perl_fold")
-    syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,perlTodo keepend fold
+    syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend fold
     syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend fold
   else
-    syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,perlTodo keepend
+    syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Pod,@Spell,perlTodo keepend
     syn region perlPOD start="^=cut" end="^=cut" contains=perlTodo keepend
   endif
 else
   " Use only the bare minimum of rules
   if exists("perl_fold")
-    syn region perlPOD start="^=[a-z]" end="^=cut" fold
+    syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Spell fold
   else
-    syn region perlPOD start="^=[a-z]" end="^=cut"
+    syn region perlPOD start="^=[a-z]" end="^=cut" contains=@Spell
   endif
 endif
 
@@ -87,8 +87,8 @@
 endif
 syn keyword perlOperator		defined undef and or not bless ref
 if exists("perl_fold")
-  " if BEGIN/END would be a keyword the perlBEGINENDFold does not work
-  syn match perlControl			"\<BEGIN\|CHECK\|INIT\|END\>" contained
+  " if BEGIN/END is a keyword the perlBEGINENDFold does not work
+  syn match perlControl			"\<BEGIN\|END\|CHECK\|INIT\>" contained
 else
   syn keyword perlControl		BEGIN END CHECK INIT
 endif
@@ -108,8 +108,8 @@
 syn match   perlStatementFiles		"-[rwxoRWXOezsfdlpSbctugkTBMAC]\>"
 syn keyword perlStatementFlow		caller die dump eval exit wantarray
 syn keyword perlStatementInclude	require
-syn match   perlStatementInclude	"\(use\|no\)\s\+\(integer\>\|strict\>\|lib\>\|sigtrap\>\|subs\>\|vars\>\|warnings\>\|utf8\>\|byte\>\)\="
-syn keyword perlStatementScope		import
+syn match   perlStatementInclude	"\<\(use\|no\)\s\+\(\(attributes\|autouse\|base\|big\(int\|num\|rat\)\|blib\|bytes\|charnames\|constant\|diagnostics\|encoding\|fields\|filetest\|if\|integer\|less\|lib\|locale\|open\|ops\|overload\|re\|sigtrap\|sort\|strict\|subs\|threads\(::shared\)\=\|utf8\|vars\|vmsish\|warnings\(::register\)\=\)\>\)\="
+
 syn keyword perlStatementProc		alarm exec fork getpgrp getppid getpriority kill pipe setpgrp setpriority sleep system times wait waitpid
 syn keyword perlStatementSocket		accept bind connect getpeername getsockname getsockopt listen recv send setsockopt shutdown socket socketpair
 syn keyword perlStatementIPC		msgctl msgget msgrcv msgsnd semctl semget semop shmctl shmget shmread shmwrite
@@ -118,8 +118,11 @@
 syn keyword perlStatementTime		gmtime localtime time times
 
 syn keyword perlStatementMisc		warn formline reset scalar delete prototype lock
-syn keyword perlStatementNew		new
-
+if !exists("perl_no_semi_keywords")
+  syn keyword perlStatementScope	import
+  syn keyword perlStatementNew		new
+  syn keyword perlStatementCarp		carp confess croak 		
+endif
 syn keyword perlTodo			TODO TBD FIXME XXX contained
 
 " Perl Identifiers.
@@ -134,14 +137,16 @@
 
 " Special variables first ($^A, ...) and ($|, $', ...)
 syn match  perlVarPlain		 "$^[ADEFHILMOPSTWX]\="
-syn match  perlVarPlain		 "$[\\\"\[\]'&`+*.,;=%~!?@$<>(-]"
-syn match  perlVarPlain		 "$\(0\|[1-9][0-9]*\)"
+syn match  perlVarPlain		 "$[\\\"\[\]'&`+*.,;=%~?@$<>(-]"
+syn match  perlVarPlain		 "$\(0\|[1-9]\d*\)"
 " Same as above, but avoids confusion in $::foo (equivalent to $main::foo)
 syn match  perlVarPlain		 "$:[^:]"
 " These variables are not recognized within matches.
 syn match  perlVarNotInMatches	 "$[|)]"
-" This variable is not recognized within matches delimited by m//.
+" This variable is not recognized within matches delimited by '/'.
 syn match  perlVarSlash		 "$/"
+" This variable is not recognized within matches delimited by '!'.
+syn match  perlVarBang		 "$!"
 
 " And plain identifiers
 syn match  perlPackageRef	 "\(\h\w*\)\=\(::\|'\)\I"me=e-1 contained
@@ -159,7 +164,7 @@
 endif
 
 if !exists("perl_no_extended_vars")
-  syn cluster perlExpr		contains=perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ
+  syn cluster perlExpr		contains=perlStatementScalar,perlStatementRegexp,perlStatementNumeric,perlStatementList,perlStatementHash,perlStatementFiles,perlStatementTime,perlStatementMisc,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBang,perlVarBlock,perlShellCommand,perlFloat,perlNumber,perlStringUnexpanded,perlString,perlQQ
   syn region perlVarBlock	matchgroup=perlVarPlain start="\($#\|[@%$]\)\$*{" skip="\\}" end="}" contains=@perlExpr nextgroup=perlVarMember,perlVarSimpleMember
   syn region perlVarBlock	matchgroup=perlVarPlain start="&\$*{" skip="\\}" end="}" contains=@perlExpr
   syn match  perlVarPlain	"\\\=\(\$#\|[@%&$]\)\$*{\I\i*}" nextgroup=perlVarMember,perlVarSimpleMember
@@ -174,17 +179,18 @@
 syn match  perlFiledescRead	"[<]\h\w\+[>]"
 
 syn match  perlFiledescStatementComma	"(\=\s*\u\w*\s*,"me=e-1 transparent contained contains=perlFiledescStatement
-syn match  perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^, \t]"me=e-1 transparent contained contains=perlFiledescStatement
+syn match  perlFiledescStatementNocomma "(\=\s*\u\w*\s*[^,[:space:]]"me=e-1 transparent contained contains=perlFiledescStatement
 
 syn match  perlFiledescStatement	"\u\w*" contained
 
 " Special characters in strings and matches
 syn match  perlSpecialString	"\\\(\d\+\|[xX]\x\+\|c\u\|.\)" contained
 syn match  perlSpecialStringU	"\\['\\]" contained
-syn match  perlSpecialMatch	"{\d\+\(,\(\d\+\)\=\)\=}" contained
+syn match  perlSpecialMatch	"{\d\+\(,\d*\)\=}" contained
 syn match  perlSpecialMatch	"\[\(\]\|-\)\=[^\[\]]*\(\[\|\-\)\=\]" contained
 syn match  perlSpecialMatch	"[+*()?.]" contained
 syn match  perlSpecialMatch	"(?[#:=!]" contained
+syn match  perlSpecialMatch	"(?<[=!]" contained
 syn match  perlSpecialMatch	"(?[imsx]\+)" contained
 " FIXME the line below does not work. It should mark end of line and
 " begin of line as perlSpecial.
@@ -201,13 +207,13 @@
 " Variable interpolation
 "
 " These items are interpolated inside "" strings and similar constructs.
-syn cluster perlInterpDQ	contains=perlSpecialString,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBlock
+syn cluster perlInterpDQ	contains=perlSpecialString,perlVarPlain,perlVarNotInMatches,perlVarSlash,perlVarBang,perlVarBlock
 " These items are interpolated inside '' strings and similar constructs.
 syn cluster perlInterpSQ	contains=perlSpecialStringU
 " These items are interpolated inside m// matches and s/// substitutions.
 syn cluster perlInterpSlash	contains=perlSpecialString,perlSpecialMatch,perlVarPlain,perlVarBlock,perlSpecialBEOM
 " These items are interpolated inside m## matches and s### substitutions.
-syn cluster perlInterpMatch	contains=@perlInterpSlash,perlVarSlash
+syn cluster perlInterpMatch	contains=@perlInterpSlash,perlVarSlash,perlVarBang
 
 " Shell commands
 syn region  perlShellCommand	matchgroup=perlMatchStartEnd start="`" end="`" contains=@perlInterpDQ
@@ -233,8 +239,7 @@
 
 " Below some hacks to recognise the // variant. This is virtually impossible to catch in all
 " cases as the / is used in so many other ways, but these should be the most obvious ones.
-"syn region perlMatch	matchgroup=perlMatchStartEnd start=+^split /+lc=5 start=+[^$@%]\<split /+lc=6 start=+^if /+lc=2 start=+[^$@%]if /+lc=3 start=+[!=]\~\s*/+lc=2 start=+[(~]/+lc=1 start=+\.\./+lc=2 start=+\s/[^= \t0-9$@%]+lc=1,me=e-1,rs=e-1 start=+^/+ skip=+\\/+ end=+/[cgimosx]*+ contains=@perlInterpSlash
-syn region perlMatch	matchgroup=perlMatchStartEnd start=+^split /+lc=5 start=+[^$@%]\<split /+lc=6 start=+^while /+lc=5 start=+[^$@%]while /+lc=6 start=+^if /+lc=2 start=+[^$@%]if /+lc=3 start=+[!=]\~\s*/+lc=2 start=+[(~]/+lc=1 start=+\.\./+lc=2 start=+\s/[^= \t0-9$@%]+lc=1,me=e-1,rs=e-1 start=+^/+ skip=+\\/+ end=+/[cgimosx]*+ contains=@perlInterpSlash
+syn region perlMatch	matchgroup=perlMatchStartEnd start=+^split /+lc=5 start=+[^$@%&]\<split /+lc=6 start=+^while /+lc=5 start=+[^$@%&]while /+lc=6 start=+^if /+lc=2 start=+[^$@%&]if /+lc=3 start=+[!=]\~\s*/+lc=2 start=+[(~]/+lc=1 start=+\.\./+lc=2 start=+\s/[^=[:space:][:digit:]$@%&]+lc=1,me=e-1,rs=e-1 start=+^/+ skip=+\\/+ end=+/[cgimosx]*+ contains=@perlInterpSlash
 
 
 " Substitutions
@@ -253,7 +258,7 @@
 syn region perlSubstitutionBracket	matchgroup=perlMatchStartEnd start=+\[+ end=+\][ecgimosx]*+ contained contains=@perlInterpDQ
 syn region perlSubstitutionCurly	matchgroup=perlMatchStartEnd start=+{+  end=+}[ecgimosx]*+ contained contains=@perlInterpDQ
 
-" A special case for m!!x which allows for comments and extra whitespace in the pattern
+" A special case for s!!!x which allows for comments and extra whitespace in the pattern
 syn region perlMatch	matchgroup=perlMatchStartEnd start=+\<s!+ end=+!+me=e-1 contains=@perlInterpSlash,perlComment nextgroup=perlSubstitutionPling
 syn region perlSubstitutionPling	matchgroup=perlMatchStartEnd start=+!+ end=+![ecgimosx]*+ contained contains=@perlInterpDQ
 
@@ -280,24 +285,24 @@
 
 " Strings and q, qq, qw and qr expressions
 
-" Brackets in qq()
-syn region perlBrackets	start=+(+ end=+)+ contained transparent contains=perlBrackets,@perlStringSQ
+" Parentheses in qq()
+syn region perlParens	start=+(+ end=+)+ contained transparent contains=perlParens,@perlStringSQ
 
-syn region perlStringUnexpanded	matchgroup=perlStringStartEnd start="'" end="'" contains=@perlInterpSQ
-syn region perlString		matchgroup=perlStringStartEnd start=+"+  end=+"+ contains=@perlInterpDQ
+syn region perlStringUnexpanded	matchgroup=perlStringStartEnd start="'" end="'" contains=@Spell,@perlInterpSQ
+syn region perlString		matchgroup=perlStringStartEnd start=+"+  end=+"+ contains=@Spell,@perlInterpDQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q#+ end=+#+ contains=@perlInterpSQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q|+ end=+|+ contains=@perlInterpSQ
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q(+ end=+)+ contains=@perlInterpSQ,perlBrackets
+syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q(+ end=+)+ contains=@perlInterpSQ,perlParens
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q{+ end=+}+ contains=@perlInterpSQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q/+ end=+/+ contains=@perlInterpSQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q[qx]#+ end=+#+ contains=@perlInterpDQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q[qx]|+ end=+|+ contains=@perlInterpDQ
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q[qx](+ end=+)+ contains=@perlInterpDQ,perlBrackets
+syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q[qx](+ end=+)+ contains=@perlInterpDQ,perlParens
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q[qx]{+ end=+}+ contains=@perlInterpDQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<q[qx]/+ end=+/+ contains=@perlInterpDQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qw#+  end=+#+ contains=@perlInterpSQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qw|+  end=+|+ contains=@perlInterpSQ
-syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qw(+  end=+)+ contains=@perlInterpSQ,perlBrackets
+syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qw(+  end=+)+ contains=@perlInterpSQ,perlParens
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qw{+  end=+}+ contains=@perlInterpSQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qw/+  end=+/+ contains=@perlInterpSQ
 syn region perlQQ		matchgroup=perlStringStartEnd start=+\<qr#+  end=+#[imosx]*+ contains=@perlInterpMatch
@@ -362,7 +367,7 @@
 
 
 " All other # are comments, except ^#!
-syn match  perlComment		"#.*" contains=perlTodo
+syn match  perlComment		"#.*" contains=@Spell,perlTodo
 syn match  perlSharpBang	"^#!.*"
 
 " Formats
@@ -391,8 +396,8 @@
   syn region perlBEGINENDFold start="^\z(\s*\)\<\(BEGIN\|END\|CHECK\|INIT\)\>.*[^};]$" end="^\z1}\s*$" transparent fold keepend
 
   if exists("perl_fold_blocks")
-    syn region perlIfFold start="^\z(\s*\)\(if\|unless\|for\|while\|until\)\s*(.*)\s*{\s*$" start="^\z(\s*\)foreach\s*\(\(my\|our\)\=\s*\S\+\s*\)\=(.*)\s*{\s*$" end="^\z1}\s*;\=$" transparent fold keepend
-    syn region perlIfFold start="^\z(\s*\)do\s*{\s*$" end="^\z1}\s*while" end="^\z1}\s*;\=$" transparent fold keepend
+    syn region perlIfFold start="^\z(\s*\)\(if\|unless\|for\|while\|until\)\s*(.*)\(\s*{\)\=\s*$" start="^\z(\s*\)foreach\s*\(\(my\|our\)\=\s*\S\+\s*\)\=(.*)\(\s*{\)\=\s*$" start="\z(\s*\)else\s*{\s*$" end="^\z1}\s*;\=$" transparent fold keepend
+    syn region perlIfFold start="^\z(\s*\)do\(\s*{\)\=\s*$" end="^\z1}\s*while" end="^\z1}\s*;\=$" transparent fold keepend
   endif
 
   setlocal foldmethod=syntax
@@ -445,6 +450,7 @@
   HiLink perlVarSimpleMemberName perlString
   HiLink perlVarNotInMatches	perlIdentifier
   HiLink perlVarSlash		perlIdentifier
+  HiLink perlVarBang		perlIdentifier
   HiLink perlQQ			perlString
   if version >= 600
     HiLink perlHereDoc		perlString
@@ -454,7 +460,7 @@
     HiLink perlUntilEOFSQ	perlString
     HiLink perlUntilEmptyDQ	perlString
     HiLink perlUntilEmptySQ	perlString
-    HiLink perlUntilEOF		perlString
+    HiLink perlUntilEOF		perlString		
   endif
   HiLink perlStringUnexpanded	perlString
   HiLink perlSubstitutionSQ	perlString
@@ -490,7 +496,7 @@
   HiLink perlStatementFiles	perlStatement
   HiLink perlStatementFlow	perlStatement
   HiLink perlStatementScope	perlStatement
-  HiLink perlStatementInclude	perlStatement
+  HiLink perlStatementInclude	perlInclude
   HiLink perlStatementProc	perlStatement
   HiLink perlStatementSocket	perlStatement
   HiLink perlStatementIPC	perlStatement
@@ -511,9 +517,9 @@
   HiLink perlSpecialMatch	perlSpecial
   HiLink perlSpecialBEOM	perlSpecial
   HiLink perlDATA		perlComment
-
-  HiLink perlBrackets		Error
-
+  
+  HiLink perlParens		Error
+  
   " Possible errors
   HiLink perlNotEmptyLine	Error
   HiLink perlElseIfError	Error
diff --git a/runtime/syntax/ruby.vim b/runtime/syntax/ruby.vim
index 23079e9..bdd6e2e 100644
--- a/runtime/syntax/ruby.vim
+++ b/runtime/syntax/ruby.vim
@@ -2,14 +2,8 @@
 " Language:	Ruby
 " Maintainer:	Doug Kearns <djkea2 at gus.gscit.monash.edu.au>
 " Info:		$Id$
-" URL:		http://vim-ruby.sourceforge.net
+" URL:		http://vim-ruby.rubyforge.org
 " Anon CVS:	See above site
-" Licence:	GPL (http://www.gnu.org)
-" Disclaimer:
-"    This program is distributed in the hope that it will be useful,
-"    but WITHOUT ANY WARRANTY; without even the implied warranty of
-"    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-"    GNU General Public License for more details.
 " ----------------------------------------------------------------------------
 "
 " Previous Maintainer:	Mirko Nasato
diff --git a/runtime/syntax/sh.vim b/runtime/syntax/sh.vim
index b979221..7615c59 100644
--- a/runtime/syntax/sh.vim
+++ b/runtime/syntax/sh.vim
@@ -2,21 +2,22 @@
 " Language:		shell (sh) Korn shell (ksh) bash (sh)
 " Maintainer:		Dr. Charles E. Campbell, Jr.  <NdrOchipS@PcampbellAfamily.Mbiz>
 " Previous Maintainer:	Lennart Schultz <Lennart.Schultz@ecmwf.int>
-" Last Change:		Sep 06, 2005
-" Version:		77
+" Last Change:		Oct 18, 2005
+" Version:		78
 " URL:		http://mysite.verizon.net/astronaut/vim/index.html#vimlinks_syntax
 "
 " Using the following VIM variables: {{{1
-" b:is_kornshell	if defined, enhance with kornshell syntax
+" b:is_kornshell	if defined, enhance with kornshell/POSIX syntax
 " b:is_bash		if defined, enhance with bash syntax
-"   is_kornshell	if neither b:is_kornshell or b:is_bash is
-"		defined, then if is_kornshell is set
-"		b:is_kornshell is default
-"   is_bash		if none of the previous three variables are
-"		defined, then if is_bash is set b:is_bash is default
+" g:is_kornshell	if neither b:is_kornshell or b:is_bash is
+"		defined, then if g:is_kornshell is set
+"		enhance with kornshell/POSIX syntax highlighting
+" g:is_bash		if none of the previous three variables are
+"		defined, then if g:is_bash is set enhance with
+"		bash syntax highlighting
 " g:sh_fold_enabled	if non-zero, syntax folding is enabled
-"   sh_minlines		sets up syn sync minlines  (default: 200)
-"   sh_maxlines		sets up syn sync maxlines  (default: twice sh_minlines)
+" g:sh_minlines		sets up syn sync minlines (dflt: 200)
+" g:sh_maxlines		sets up syn sync maxlines (dflt: 2x sh_minlines)
 "
 " This file includes many ideas from Éric Brunet (eric.brunet@ens.fr)
 
@@ -385,7 +386,7 @@
  " bash : ${parameter//pattern/string}
  " bash : ${parameter//pattern}
  syn match  shDerefPPS	contained	'/\{1,2}'	nextgroup=shDerefPPSleft
- syn region shDerefPPSleft	contained	start='.'	skip=@\%(\\\)\/@ matchgroup=shDerefOp end='/' nextgroup=shDerefPPSright contains=@shCommandSubList
+ syn region shDerefPPSleft	contained	start='.'	skip=@\%(\\\)\/@ matchgroup=shDerefOp end='/' end='\ze}' nextgroup=shDerefPPSright contains=@shCommandSubList
  syn region shDerefPPSright	contained	start='.'	end='\ze}'	contains=@shCommandSubList
 endif
 
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 9ab7646..4d14f86 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	October 12, 2005
-" Version:	7.0-17
+" Last Change:	Nov 18, 2005
+" Version:	7.0-20
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -123,11 +123,11 @@
 
 " Operators: {{{2
 " =========
-syn cluster vimOperGroup	contains=vimOper,vimOperParen,vimNumber,vimString,vimOperOk,vimRegister
+syn cluster vimOperGroup	contains=vimOper,vimOperParen,vimNumber,vimString,vimOperOk,vimRegister,vimContinue
 syn match  vimOper	"\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}"	skipwhite nextgroup=vimString,vimSpecFile
 syn match  vimOper	"||\|&&\|[-+.]"	skipwhite nextgroup=vimString,vimSpecFile
 syn region vimOperParen oneline	matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
-syn region vimOperParen oneline	matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
+syn region vimOperParen	matchgroup=vimSep  start="{" end="}" contains=@vimOperGroup nextgroup=vimVar
 syn match  vimOperOk	"\<[aiAIrR][()]"
 if !exists("g:vimsyntax_noerror")
  syn match  vimOperError	")"
@@ -217,7 +217,7 @@
 syn match   vimCollClass    contained transparent	"\[:\(alnum\|alpha\|blank\|cntrl\|digit\|graph\|lower\|print\|punct\|space\|upper\|xdigit\|return\|tab\|escape\|backspace\):\]"
 syn match   vimSubstSubstr  contained	"\\z\=\d"
 syn match   vimSubstTwoBS   contained	"\\\\"
-syn match   vimSubstFlagErr contained	"[^< \t\r]\+" contains=vimSubstFlags
+syn match   vimSubstFlagErr contained	"[^< \t\r|]\+" contains=vimSubstFlags
 syn match   vimSubstFlags   contained	"[&cegiIpr]\+"
 
 " 'String': {{{2