updated for version 7.0004
diff --git a/runtime/syntax/mupad.vim b/runtime/syntax/mupad.vim
new file mode 100644
index 0000000..86e0320
--- /dev/null
+++ b/runtime/syntax/mupad.vim
@@ -0,0 +1,295 @@
+" Vim syntax file

+" Language:    MuPAD source

+" Maintainer:  Dave Silvia <dsilvia@mchsi.com>

+" Filenames:   *.mu

+" Date:        6/30/2004

+

+

+" 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

+

+" Set default highlighting to Win2k

+if !exists("mupad_cmdextversion")

+  let mupad_cmdextversion = 2

+endif

+

+syn case match

+

+syn match mupadComment	"//\p*$"

+syn region mupadComment	start="/\*"	end="\*/"

+

+syn region mupadString	start="\""	skip=/\\"/	end="\""

+

+syn match mupadOperator		"(\|)\|:=\|::\|:\|;"

+" boolean

+syn keyword mupadOperator	and	or	not	xor

+syn match mupadOperator		"==>\|\<=\>"

+

+" Informational

+syn keyword mupadSpecial		FILEPATH	NOTEBOOKFILE	NOTEBOOKPATH

+" Set-able, e.g., DIGITS:=10

+syn keyword mupadSpecial		DIGITS		HISTORY		LEVEL

+syn keyword mupadSpecial		MAXLEVEL	MAXDEPTH	ORDER

+syn keyword mupadSpecial		TEXTWIDTH

+" Set-able, e.g., PRETTYPRINT:=TRUE

+syn keyword mupadSpecial		PRETTYPRINT

+" Set-able, e.g., LIBPATH:="C:\\MuPAD Pro\\mylibdir" or LIBPATH:="/usr/MuPAD Pro/mylibdir"

+syn keyword mupadSpecial		LIBPATH		PACKAGEPATH

+syn keyword mupadSpecial		READPATH	TESTPATH	WRITEPATH

+" Symbols and Constants

+syn keyword mupadDefine		FAIL		NIL

+syn keyword mupadDefine		TRUE		FALSE		UNKNOWN

+syn keyword mupadDefine		complexInfinity		infinity

+syn keyword mupadDefine		C_	CATALAN	E	EULER	I	PI	Q_	R_

+syn keyword mupadDefine		RD_INF	RD_NINF	undefined	unit	universe	Z_

+" print() directives

+syn keyword mupadDefine		Unquoted	NoNL	KeepOrder	Typeset

+" domain specifics

+syn keyword mupadStatement	domain	begin	end_domain	end

+syn keyword mupadIdentifier	inherits	category	axiom	info	doc interface

+" basic programming statements

+syn keyword mupadStatement	proc	begin	end_proc	

+syn keyword mupadUnderlined	name	local	option	save

+syn keyword mupadConditional	if	then	elif	else	end_if

+syn keyword mupadConditional	case	of	do	break	end_case

+syn keyword mupadRepeat		for	do	next	break	end_for

+syn keyword mupadRepeat		while	do	next break end_while

+syn keyword mupadRepeat		repeat	next break until	end_repeat

+" domain packages/libraries

+syn keyword mupadType			detools	import	linalg	numeric	numlib	plot	polylib

+syn match mupadType				'\<DOM_\w*\>'

+

+"syn keyword mupadFunction	contains

+" Functions dealing with prime numbers

+syn keyword mupadFunction	phi	invphi	mersenne	nextprime	numprimedivisors

+syn keyword mupadFunction	pollard	prevprime	primedivisors

+" Functions operating on Lists, Matrices, Sets, ...

+syn keyword mupadFunction	array	_index

+" Evaluation

+syn keyword mupadFunction	float contains

+" stdlib

+syn keyword mupadFunction	_exprseq	_invert	_lazy_and	_lazy_or	_negate

+syn keyword mupadFunction	_stmtseq	_invert	intersect	minus		union

+syn keyword mupadFunction	Ci	D	Ei	O	Re	Im	RootOf	Si

+syn keyword mupadFunction	Simplify

+syn keyword mupadFunction	abs	airyAi	airyBi	alias	unalias	anames	append

+syn keyword mupadFunction	arcsin	arccos	arctan	arccsc	arcsec	arccot

+syn keyword mupadFunction	arcsinh	arccosh	arctanh	arccsch	arcsech	arccoth

+syn keyword mupadFunction	arg	args	array	assert	assign	assignElements

+syn keyword mupadFunction	assume	assuming	asympt	bernoulli

+syn keyword mupadFunction	besselI	besselJ	besselK	besselY	beta	binomial	bool

+syn keyword mupadFunction	bytes	card

+syn keyword mupadFunction	ceil	floor	round	trunc

+syn keyword mupadFunction	coeff	coerce	collect	combine	copyClosure

+syn keyword mupadFunction	conjugate	content	context	contfrac

+syn keyword mupadFunction	debug	degree	degreevec	delete	_delete	denom

+syn keyword mupadFunction	densematrix	diff	dilog	dirac	discont	div	_div

+syn keyword mupadFunction	divide	domtype	doprint	erf	erfc	error	eval	evalassign

+syn keyword mupadFunction	evalp	exp	expand	export	unexport	expose	expr

+syn keyword mupadFunction	expr2text	external	extnops	extop	extsubsop

+syn keyword mupadFunction	fact	fact2	factor	fclose	finput	fname	fopen	fprint

+syn keyword mupadFunction	fread	ftextinput	readbitmap	readdata	pathname

+syn keyword mupadFunction	protocol	read	readbytes	write	writebytes

+syn keyword mupadFunction	float	frac	frame	_frame	frandom	freeze	unfreeze

+syn keyword mupadFunction	funcenv	gamma	gcd	gcdex	genident	genpoly

+syn keyword mupadFunction	getpid	getprop	ground	has	hastype	heaviside	help

+syn keyword mupadFunction	history	hold	hull	hypergeom	icontent	id

+syn keyword mupadFunction	ifactor	igamma	igcd	igcdex	ilcm	in	_in

+syn keyword mupadFunction	indets	indexval	info	input	int	int2text

+syn keyword mupadFunction	interpolate	interval	irreducible	is

+syn keyword mupadFunction	isprime	isqrt	iszero	ithprime	kummerU	lambertW

+syn keyword mupadFunction	last	lasterror	lcm	lcoeff	ldegree	length

+syn keyword mupadFunction	level	lhs	rhs	limit	linsolve	lllint

+syn keyword mupadFunction	lmonomial	ln	loadmod	loadproc	log	lterm

+syn keyword mupadFunction	match	map	mapcoeffs	maprat	matrix	max	min

+syn keyword mupadFunction	mod	modp	mods	monomials	multcoeffs	new

+syn keyword mupadFunction	newDomain	_next	nextprime	nops

+syn keyword mupadFunction	norm	normal	nterms	nthcoeff	nthmonomial	nthterm

+syn keyword mupadFunction	null	numer	ode	op	operator	package

+syn keyword mupadFunction	pade	partfrac	patchlevel	pdivide

+syn keyword mupadFunction	piecewise	plot	plotfunc2d	plotfunc3d

+syn keyword mupadFunction	poly	poly2list	polylog	powermod	print

+syn keyword mupadFunction	product	protect	psi	quit	_quit	radsimp	random	rationalize

+syn keyword mupadFunction	rec	rectform	register	reset	return	revert

+syn keyword mupadFunction	rewrite	select	series	setuserinfo	share	sign	signIm

+syn keyword mupadFunction	simplify	

+syn keyword mupadFunction	sin	cos	tan	csc	sec	cot

+syn keyword mupadFunction	sinh	cosh	tanh	csch	sech	coth

+syn keyword mupadFunction	slot	solve	

+syn keyword mupadFunction	pdesolve	matlinsolve	matlinsolveLU	toeplitzSolve

+syn keyword mupadFunction	vandermondeSolve	fsolve	odesolve	odesolve2

+syn keyword mupadFunction	polyroots	polysysroots	odesolveGeometric

+syn keyword mupadFunction	realroot	realroots	mroots	lincongruence

+syn keyword mupadFunction	msqrts

+syn keyword mupadFunction	sort	split	sqrt	strmatch	strprint

+syn keyword mupadFunction	subs	subset	subsex	subsop	substring	sum

+syn keyword mupadFunction	surd	sysname	sysorder	system	table	taylor	tbl2text

+syn keyword mupadFunction	tcoeff	testargs	testeq	testtype	text2expr

+syn keyword mupadFunction	text2int	text2list	text2tbl	rtime	time

+syn keyword mupadFunction	traperror	type	unassume	unit	universe

+syn keyword mupadFunction	unloadmod	unprotect	userinfo	val	version

+syn keyword mupadFunction	warning	whittakerM	whittakerW	zeta	zip

+

+" graphics  plot::

+syn keyword mupadFunction	getDefault	setDefault	copy	modify	Arc2d	Arrow2d

+syn keyword mupadFunction	Arrow3d	Bars2d	Bars3d	Box	Boxplot	Circle2d	Circle3d

+syn keyword mupadFunction	Cone	Conformal	Curve2d	Curve3d	Cylinder	Cylindrical

+syn keyword mupadFunction	Density	Ellipse2d	Function2d	Function3d	Hatch

+syn keyword mupadFunction	Histogram2d	HOrbital	Implicit2d	Implicit3d

+syn keyword mupadFunction	Inequality	Iteration	Line2d	Line3d	Lsys	Matrixplot

+syn keyword mupadFunction	MuPADCube	Ode2d	Ode3d	Parallelogram2d	Parallelogram3d

+syn keyword mupadFunction	Piechart2d	Piechart3d	Point2d	Point3d	Polar

+syn keyword mupadFunction	Polygon2d	Polygon3d	Raster	Rectangle	Sphere

+syn keyword mupadFunction	Ellipsoid	Spherical	Sum	Surface	SurfaceSet

+syn keyword mupadFunction	SurfaceSTL	Tetrahedron	Hexahedron	Octahedron

+syn keyword mupadFunction	Dodecahedron	Icosahedron	Text2d	Text3d	Tube	Turtle

+syn keyword mupadFunction	VectorField2d	XRotate	ZRotate	Canvas	CoordinateSystem2d

+syn keyword mupadFunction	CoordinateSystem3d	Group2d	Group3d	Scene2d	Scene3d	ClippingBox

+syn keyword mupadFunction	Rotate2d	Rotate3d	Scale2d	Scale3d	Transform2d

+syn keyword mupadFunction	Transform3d	Translate2d	Translate3d	AmbientLight

+syn keyword mupadFunction	Camera	DistantLight	PointLight	SpotLight

+

+" graphics Attributes

+" graphics  Output Attributes

+syn keyword mupadIdentifier	OutputFile	OutputOptions

+" graphics  Defining Attributes

+syn keyword mupadIdentifier	Angle	AngleRange	AngleBegin	AngleEnd

+syn keyword mupadIdentifier	Area	Axis	AxisX	AxisY	AxisZ	Base	Top

+syn keyword mupadIdentifier	BaseX	TopX	BaseY	TopY	BaseZ	TopZ

+syn keyword mupadIdentifier	BaseRadius	TopRadius	Cells

+syn keyword mupadIdentifier	Center	CenterX	CenterY	CenterZ

+syn keyword mupadIdentifier	Closed	ColorData	CommandList	Contours	CoordinateType

+syn keyword mupadIdentifier	Data	DensityData	DensityFunction	From	To

+syn keyword mupadIdentifier	FromX	ToX	FromY	ToY	FromZ	ToZ

+syn keyword mupadIdentifier	Function	FunctionX	FunctionY	FunctionZ

+syn keyword mupadIdentifier	Function1	Function2	Baseline

+syn keyword mupadIdentifier	Generations	RotationAngle	IterationRules	StartRule StepLength

+syn keyword mupadIdentifier	TurtleRules	Ground	Heights	Moves	Inequalities

+syn keyword mupadIdentifier	InputFile	Iterations	StartingPoint

+syn keyword mupadIdentifier	LineColorFunction	FillColorFunction

+syn keyword mupadIdentifier	Matrix2d	Matrix3d

+syn keyword mupadIdentifier	MeshList	MeshListType	MeshListNormals

+syn keyword mupadIdentifier	MagneticQuantumNumber	MomentumQuantumNumber	PrincipalQuantumNumber

+syn keyword mupadIdentifier	Name	Normal	NormalX	NormalY	NormalZ

+syn keyword mupadIdentifier	ParameterName	ParameterBegin	ParameterEnd	ParameterRange

+syn keyword mupadIdentifier	Points2d	Points3d	Radius	RadiusFunction

+syn keyword mupadIdentifier	Position	PositionX	PositionY	PositionZ

+syn keyword mupadIdentifier	Scale	ScaleX	ScaleY	ScaleZ Shift	ShiftX	ShiftY	ShiftZ

+syn keyword mupadIdentifier	SemiAxes	SemiAxisX	SemiAxisY	SemiAxisZ

+syn keyword mupadIdentifier	Tangent1	Tangent1X	Tangent1Y	Tangent1Z

+syn keyword mupadIdentifier	Tangent2	Tangent2X	Tangent2Y	Tangent2Z

+syn keyword mupadIdentifier	Text	TextOrientation	TextRotation

+syn keyword mupadIdentifier	UName	URange	UMin	UMax	VName	VRange	VMin	VMax

+syn keyword mupadIdentifier	XName	XRange	XMin	XMax	YName	YRange	YMin	YMax

+syn keyword mupadIdentifier	ZName	ZRange	ZMin	ZMax	ViewingBox

+syn keyword mupadIdentifier	ViewingBoxXMin	ViewingBoxXMax	ViewingBoxXRange

+syn keyword mupadIdentifier	ViewingBoxYMin	ViewingBoxYMax	ViewingBoxYRange

+syn keyword mupadIdentifier	ViewingBoxZMin	ViewingBoxZMax	ViewingBoxZRange

+syn keyword mupadIdentifier	Visible

+" graphics  Axis Attributes

+syn keyword mupadIdentifier	Axes	AxesInFront	AxesLineColor	AxesLineWidth

+syn keyword mupadIdentifier	AxesOrigin	AxesOriginX	AxesOriginY	AxesOriginZ

+syn keyword mupadIdentifier	AxesTips	AxesTitleAlignment

+syn keyword mupadIdentifier	AxesTitleAlignmentX	AxesTitleAlignmentY	AxesTitleAlignmentZ

+syn keyword mupadIdentifier	AxesTitles	XAxisTitle	YAxisTitle	ZAxisTitle

+syn keyword mupadIdentifier	AxesVisible	XAxisVisible	YAxisVisible	ZAxisVisible

+syn keyword mupadIdentifier	YAxisTitleOrientation

+" graphics  Tick Marks Attributes

+syn keyword mupadIdentifier	TicksAnchor	XTicksAnchor	YTicksAnchor	ZTicksAnchor

+syn keyword mupadIdentifier	TicksAt	XTicksAt	YTicksAt	ZTicksAt

+syn keyword mupadIdentifier	TicksBetween	XTicksBetween	YTicksBetween	ZTicksBetween

+syn keyword mupadIdentifier	TicksDistance	XTicksDistance	YTicksDistance	ZTicksDistance

+syn keyword mupadIdentifier	TicksNumber	XTicksNumber	YTicksNumber	ZTicksNumber

+syn keyword mupadIdentifier	TicksVisible	XTicksVisible	YTicksVisible	ZTicksVisible

+syn keyword mupadIdentifier	TicksLength	TicksLabelStyle

+syn keyword mupadIdentifier	XTicksLabelStyle	YTicksLabelStyle	ZTicksLabelStyle

+syn keyword mupadIdentifier	TicksLabelsVisible

+syn keyword mupadIdentifier	XTicksLabelsVisible	YTicksLabelsVisible	ZTicksLabelsVisible

+" graphics  Grid Lines Attributes

+syn keyword mupadIdentifier	GridInFront	GridLineColor	SubgridLineColor

+syn keyword mupadIdentifier	GridLineStyle	SubgridLineStyle GridLineWidth	SubgridLineWidth

+syn keyword mupadIdentifier	GridVisible	XGridVisible	YGridVisible	ZGridVisible

+syn keyword mupadIdentifier	SubgridVisible	XSubgridVisible	YSubgridVisible	ZSubgridVisible

+" graphics  Animation Attributes

+syn keyword mupadIdentifier	Frames	TimeRange	TimeBegin	TimeEnd

+syn keyword mupadIdentifier	VisibleAfter	VisibleBefore	VisibleFromTo

+syn keyword mupadIdentifier	VisibleAfterEnd	VisibleBeforeBegin

+" graphics  Annotation Attributes

+syn keyword mupadIdentifier	Footer	Header	FooterAlignment	HeaderAlignment

+syn keyword mupadIdentifier	HorizontalAlignment	TitleAlignment	VerticalAlignment

+syn keyword mupadIdentifier	Legend	LegendEntry	LegendText

+syn keyword mupadIdentifier	LegendAlignment	LegendPlacement	LegendVisible

+syn keyword mupadIdentifier	Title	Titles

+syn keyword mupadIdentifier	TitlePosition	TitlePositionX	TitlePositionY	TitlePositionZ

+" graphics  Layout Attributes

+syn keyword mupadIdentifier	Bottom	Left	Height	Width	Layout	Rows	Columns

+syn keyword mupadIdentifier	Margin	BottomMargin	TopMargin	LeftMargin	RightMargin

+syn keyword mupadIdentifier	OutputUnits	Spacing

+" graphics  Calculation Attributes

+syn keyword mupadIdentifier	AdaptiveMesh	DiscontinuitySearch	Mesh	SubMesh

+syn keyword mupadIdentifier	UMesh	USubMesh	VMesh	VSubMesh

+syn keyword mupadIdentifier	XMesh	XSubMesh	YMesh	YSubMesh	Zmesh

+" graphics  Camera and Lights Attributes

+syn keyword mupadIdentifier	CameraCoordinates	CameraDirection

+syn keyword mupadIdentifier	CameraDirectionX	CameraDirectionY	CameraDirectionZ

+syn keyword mupadIdentifier	FocalPoint	FocalPointX	FocalPointY	FocalPointZ

+syn keyword mupadIdentifier	LightColor	Lighting	LightIntensity	OrthogonalProjection

+syn keyword mupadIdentifier	SpotAngle	ViewingAngle

+syn keyword mupadIdentifier	Target	TargetX	TargetY	TargetZ

+" graphics  Presentation Style and Fonts Attributes

+syn keyword mupadIdentifier	ArrowLength

+syn keyword mupadIdentifier	AxesTitleFont	FooterFont	HeaderFont	LegendFont

+syn keyword mupadIdentifier	TextFont	TicksLabelFont	TitleFont

+syn keyword mupadIdentifier	BackgroundColor	BackgroundColor2	BackgroundStyle

+syn keyword mupadIdentifier	BackgroundTransparent	Billboarding	BorderColor	BorderWidth

+syn keyword mupadIdentifier	BoxCenters	BoxWidths	DrawMode Gap	XGap	YGap

+syn keyword mupadIdentifier	Notched	NotchWidth	Scaling	YXRatio	ZXRatio

+syn keyword mupadIdentifier	VerticalAsymptotesVisible	VerticalAsymptotesStyle

+syn keyword mupadIdentifier	VerticalAsymptotesColor	VerticalAsymptotesWidth

+" graphics  Line Style Attributes

+syn keyword mupadIdentifier	LineColor	LineColor2	LineColorType	LineStyle

+syn keyword mupadIdentifier	LinesVisible	ULinesVisible	VLinesVisible	XLinesVisible

+syn keyword mupadIdentifier	YLinesVisible	LineWidth	MeshVisible

+" graphics  Point Style Attributes

+syn keyword mupadIdentifier	PointColor	PointSize	PointStyle	PointsVisible

+" graphics  Surface Style Attributes

+syn keyword mupadIdentifier	BarStyle	Shadows	Color	Colors	FillColor	FillColor2

+syn keyword mupadIdentifier	FillColorTrue	FillColorFalse	FillColorUnknown	FillColorType

+syn keyword mupadIdentifier	Filled	FillPattern	FillPatterns	FillStyle

+syn keyword mupadIdentifier	InterpolationStyle	Shading	UseNormals

+" graphics  Arrow Style Attributes

+syn keyword mupadIdentifier	TipAngle	TipLength	TipStyle	TubeDiameter

+syn keyword mupadIdentifier	Tubular

+" graphics  meta-documentation Attributes

+syn keyword mupadIdentifier	objectGroupsListed	

+

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

+  if version < 508

+    let did_mupad_syntax_inits = 1

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

+  else

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

+  endif

+

+  HiLink mupadComment		Comment

+  HiLink mupadString		String

+  HiLink mupadOperator		Operator

+  HiLink mupadSpecial		Special

+  HiLink mupadStatement		Statement

+  HiLink mupadUnderlined	Underlined

+  HiLink mupadConditional	Conditional

+  HiLink mupadRepeat		Repeat

+  HiLink mupadFunction		Function

+  HiLink mupadType		Type

+  HiLink mupadDefine		Define

+  HiLink mupadIdentifier	Identifier

+

+  delcommand HiLink

+endif

+

+" TODO  More comprehensive listing.

diff --git a/runtime/syntax/netrwlist.vim b/runtime/syntax/netrwlist.vim
index a22469e..9628ad3 100644
--- a/runtime/syntax/netrwlist.vim
+++ b/runtime/syntax/netrwlist.vim
@@ -11,24 +11,31 @@
 endif
 
 " Directory List Syntax Highlighting: {{{1
-syn match netrwDir				"^.*/$"		contains=netrwClassify
-syn match netrwClassify      			"[*=|@/]$"
+syn match netrwDir				"^.*/$"			contains=netrwClassify
+syn match netrwClassify 			"[*=|@/]$"
 syn match netrwSlash contained			"/"
-syn match netrwSymLink				"^.*@$"		contains=netrwClassify
-syn match netrwComment				'".*$'		contains=netrwHide
-syn match netrwHide				'^"\s*Hiding:'	skipwhite nextgroup=netrwHidePat
-syn match netrwHidePat contained		"[^,]\+"	skipwhite nextgroup=netrwHideSep
-syn match netrwHideSep contained transparent	","		skipwhite nextgroup=netrwHidePat
+syn match netrwSymLink				"^.*@$"			contains=netrwClassify
+syn match netrwComment				'".*$'			contains=netrwHide,netrwSortBy,netrwSortSeq
+syn match netrwHide				'^"\s*Hiding:'		skipwhite nextgroup=netrwHidePat
+syn match netrwHidePat contained		"[^,]\+"		skipwhite nextgroup=netrwHideSep
+syn match netrwHideSep contained transparent	","			skipwhite nextgroup=netrwHidePat
+syn match netrwSortBy  contained transparent	"Sorted by"		skipwhite nextgroup=netrwList
+syn match netrwSortSeq contained transparent	"Sort sequence:"	skipwhite nextgroup=netrwList
+syn match netrwList    contained		".*$"	contains=netrwComma
+syn match netrwComma	contained	","
 
 " Highlighting Links: {{{1
 if !exists("did_drchip_dbg_syntax")
  let did_drchip_netrwlist_syntax= 1
  hi link netrwClassify	Function
  hi link netrwComment	Comment
- hi link netrwHide	netrwComment
- hi link netrwHidePat	String
  hi link netrwDir	Directory
+ hi link netrwHidePat	String
+ hi link netrwList	String
  hi link netrwSymLink	Special
+
+ hi link netrwComma	netrwComment
+ hi link netrwHide	netrwComment
 endif
 
 " Current Syntax: {{{1
diff --git a/runtime/syntax/tex.vim b/runtime/syntax/tex.vim
index 6eb134d..dc352fd 100644
--- a/runtime/syntax/tex.vim
+++ b/runtime/syntax/tex.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	TeX
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	Jun 01, 2004
-" Version:	24
+" Last Change:	Jun 15, 2004
+" Version:	25
 " URL:		http://www.erols.com/astronaut/vim/index.html#vimlinks_syntax
 "
 " Notes: {{{1
@@ -91,6 +91,7 @@
 endif
 syn cluster texEnvGroup		contains=texMatcher,texMathDelim,texSpecialChar,texStatement
 syn cluster texMatchGroup	contains=texAccent,texBadMath,texComment,texDefCmd,texDelimiter,texDocType,texInput,texLength,texLigature,texMatcher,texNewCmd,texNewEnv,texOnlyMath,texParen,texRefZone,texSection,texSpecialChar,texStatement,texString,texTypeSize,texTypeStyle,texZone,texInputFile,texOption
+syn cluster texRefGroup		contains=texMatcher,texComment,texDelimiter
 if !exists("tex_no_math")
  syn cluster texMathZones	contains=texMathZoneV,texMathZoneW,texMathZoneX,texMathZoneY,texMathZoneZ
  syn cluster texMatchGroup	add=@texMathZones
@@ -348,13 +349,13 @@
 endif
 
 " Tex Reference Zones: {{{1
-syn region texZone		start="@samp{"				end="}\|%stopzone\>"
-syn region texRefZone		matchgroup=texStatement start="\\nocite{"		keepend end="}\|%stopzone\>"  contains=texComment,texDelimiter
-syn region texRefZone		matchgroup=texStatement start="\\bibliography{"		keepend end="}\|%stopzone\>"  contains=texComment,texDelimiter
-syn region texRefZone		matchgroup=texStatement start="\\cite\([tp]\*\=\)\={"	keepend end="}\|%stopzone\>"  contains=texComment,texDelimiter
-syn region texRefZone		matchgroup=texStatement start="\\label{"		keepend end="}\|%stopzone\>"  contains=texComment,texDelimiter
-syn region texRefZone		matchgroup=texStatement start="\\\(page\|eq\)ref{"	keepend end="}\|%stopzone\>"  contains=texComment,texDelimiter
-syn region texRefZone		matchgroup=texStatement start="\\v\=ref{"		keepend end="}\|%stopzone\>"  contains=texComment,texDelimiter
+syn region texZone		matchgroup=texStatement start="@samp{"			end="}\|%stopzone\>"	contains=@texRefGroup
+syn region texRefZone		matchgroup=texStatement start="\\nocite{"		end="}\|%stopzone\>"	contains=@texRefGroup
+syn region texRefZone		matchgroup=texStatement start="\\bibliography{"		end="}\|%stopzone\>"	contains=@texRefGroup
+syn region texRefZone		matchgroup=texStatement start="\\cite\([tp]\*\=\)\={"	end="}\|%stopzone\>"	contains=@texRefGroup
+syn region texRefZone		matchgroup=texStatement start="\\label{"		end="}\|%stopzone\>"	contains=@texRefGroup
+syn region texRefZone		matchgroup=texStatement start="\\\(page\|eq\)ref{"	end="}\|%stopzone\>"	contains=@texRefGroup
+syn region texRefZone		matchgroup=texStatement start="\\v\=ref{"		end="}\|%stopzone\>"	contains=@texRefGroup
 
 " Handle newcommand, newenvironment : {{{1
 syn match  texNewCmd				"\\newcommand\>"			nextgroup=texCmdName skipwhite skipnl
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index bfad112..157eb56 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 6.3 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	May 25, 2004
-" Version:	6.3-04
+" Last Change:	Jul 01, 2004
+" Version:	6.3-05
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -57,53 +57,60 @@
 syn keyword vimFuncName contained	append argc argidx argv browse bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line char2nr cindent col confirm cscope_connection cursor delete did_filetype escape eventhandler executable exists expand filereadable filewritable fnamemodify foldclosed foldclosedend foldlevel foldtext foreground function getbufvar getchar getcharmod getcmdline getcmdpos getcwd getfsize getftime getline getreg getregtype getwinposx getwinposy getwinvar glob globpath has hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent input inputdialog inputrestore inputsave inputsecret isdirectory libcall libcallnr line line2byte lispindent localtime maparg mapcheck match matchend matchstr mode nextnonblank nr2char prevnonblank remote_expr remote_foreground remote_peek remote_read remote_send rename resolve search searchpair server2client serverlist setbufvar setcmdpos setline setreg setwinvar simplify strftime stridx strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tempname tolower toupper type virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winwidth
 
 "--- syntax above generated by mkvimvim ---
+" Special Vim Highlighting (not automatic) {{{1
 
-" Special Vim Highlighting {{{1
-
-" Numbers {{{1
+" Numbers {{{2
 " =======
 syn match vimNumber	"\<\d\+\([lL]\|\.\d\+\)\="
 syn match vimNumber	"-\d\+\([lL]\|\.\d\+\)\="
 syn match vimNumber	"\<0[xX]\x\+"
 syn match vimNumber	"#\x\{6}"
 
-" All vimCommands are contained by vimIsCommands. {{{1
+" All vimCommands are contained by vimIsCommands. {{{2
 syn match vimCmdSep	"[:|]\+"	skipwhite nextgroup=vimAddress,vimAutoCmd,vimCommand,vimExtCmd,vimFilter,vimLet,vimMap,vimMark,vimSet,vimSyntax,vimUserCmd
 syn match vimIsCommand	"\<\a\+\>"	contains=vimCommand
 syn match vimVar		"\<[bwglsav]:\K\k*\>"
 syn match vimVar contained	"\<\K\k*\>"
 
-" Insertions And Appends: insert append {{{1
+" Insertions And Appends: insert append {{{2
 " =======================
 syn region vimInsert	matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=a\%[ppend]$"	matchgroup=vimCommand end="^\.$""
 syn region vimInsert	matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=c\%[hange]$"	matchgroup=vimCommand end="^\.$""
 syn region vimInsert	matchgroup=vimCommand start="^[: \t]*\(\d\+\(,\d\+\)\=\)\=i\%[nsert]$"	matchgroup=vimCommand end="^\.$""
 
-" Behave! {{{1
+" Behave! {{{2
 " =======
 syn match   vimBehave	"\<be\%[have]\>" skipwhite nextgroup=vimBehaveModel,vimBehaveError
 syn keyword vimBehaveModel contained	mswin	xterm
-syn match   vimBehaveError contained	"[^ ]\+"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimBehaveError contained	"[^ ]\+"
+endif
 
-" Filetypes {{{1
+" Filetypes {{{2
 " =========
 syn match   vimFiletype	"\<filet\%[ype]\(\s\+\I\i*\)*\(|\|$\)"	skipwhite contains=vimFTCmd,vimFTOption,vimFTError
-syn match   vimFTError  contained	"\I\i*"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimFTError  contained	"\I\i*"
+endif
 syn keyword vimFTCmd    contained	filet[ype]
 syn keyword vimFTOption contained	detect indent off on plugin
 
-" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{1
+" Augroup : vimAugroupError removed because long augroups caused sync'ing problems. {{{2
 " ======= : Trade-off: Increasing synclines with slower editing vs augroup END error checking.
 syn cluster vimAugroupList	contains=vimIsCommand,vimFunction,vimFunctionError,vimLineComment,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
 syn region  vimAugroup	start="\<aug\%[roup]\>\s\+\K\k*" end="\<aug\%[roup]\>\s\+[eE][nN][dD]\>"	contains=vimAugroupKey,vimAutoCmd,@vimAugroupList keepend
-syn match   vimAugroupError	"\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimAugroupError	"\<aug\%[roup]\>\s\+[eE][nN][dD]\>"
+endif
 syn keyword vimAugroupKey contained	aug[roup]
 
-" Functions : Tag is provided for those who wish to highlight tagged functions {{{1
+" Functions : Tag is provided for those who wish to highlight tagged functions {{{2
 " =========
 syn cluster vimFuncList	contains=vimFuncKey,Tag,vimFuncSID
 syn cluster vimFuncBodyList	contains=vimIsCommand,vimFunction,vimFunctionError,vimFuncBody,vimLineComment,vimSpecFile,vimOper,vimNumber,vimComment,vimString,vimSubst,vimMark,vimRegister,vimAddress,vimFilter,vimCmplxRepeat,vimComment,vimLet,vimSet,vimAutoCmd,vimRegion,vimSynLine,vimNotation,vimCtrlChar,vimFuncVar,vimContinue
-syn match   vimFunctionError	"\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*("                	contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
+if !exists("g:vimsyntax_noerror")
+ syn match   vimFunctionError	"\<fu\%[nction]!\=\s\+\zs\U\i\{-}\ze\s*("                	contains=vimFuncKey,vimFuncBlank nextgroup=vimFuncBody
+endif
 syn match   vimFunction	"\<fu\%[nction]!\=\s\+\(<[sS][iI][dD]>\|[Ss]:\|\u\)\i*\ze\s*("	contains=@vimFuncList nextgroup=vimFuncBody
 syn region  vimFuncBody  contained	start=")"	end="\<endf\%[unction]"		contains=@vimFuncBodyList
 syn match   vimFuncVar   contained	"a:\(\I\i*\|\d\+\)"
@@ -111,17 +118,20 @@
 syn keyword vimFuncKey   contained	fu[nction]
 syn match   vimFuncBlank contained	"\s\+"
 
-syn keyword vimPattern  contained	start	skip	end
+syn keyword vimPattern   contained	start	skip	end
 
-" Operators: {{{1
+" Operators: {{{2
 " =========
-syn cluster vimOperGroup	contains=vimOper,vimOperParen,vimNumber,vimString
-syn match  vimOper                 	"\(==\|!=\|>=\|<=\|=\~\|!\~\|>\|<\|=\)[?#]\{0,2}"	skipwhite nextgroup=vimString,vimSpecFile
-syn match  vimOper                 	"||\|&&\|[-+.]"	skipwhite nextgroup=vimString,vimSpecFile
-syn region vimOperParen	matchgroup=vimOper start="(" end=")" contains=@vimOperGroup
-syn match  vimOperError	")"
+syn cluster vimOperGroup	contains=vimOper,vimOperParen,vimNumber,vimString,vimOperOk
+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 match  vimOperOk	"\<[aiAIrR][()]"
+if !exists("g:vimsyntax_noerror")
+ syn match  vimOperError	")"
+endif
 
-" Special Filenames, Modifiers, Extension Removal: {{{1
+" Special Filenames, Modifiers, Extension Removal: {{{2
 " ===============================================
 syn match vimSpecFile	"<c\(word\|WORD\)>"	nextgroup=vimSpecFileMod,vimSubst
 syn match vimSpecFile	"<\([acs]file\|amatch\|abuf\)>"	nextgroup=vimSpecFileMod,vimSubst
@@ -131,7 +141,7 @@
 syn match vimSpecFile	"#\d\+\|[#%]<\>"	nextgroup=vimSpecFileMod,vimSubst
 syn match vimSpecFileMod	"\(:[phtre]\)\+"	contained
 
-" User-Specified Commands: {{{1
+" User-Specified Commands: {{{2
 " =======================
 syn cluster vimUserCmdList	contains=vimAddress,vimSyntax,vimHighlight,vimAutoCmd,vimCmplxRepeat,vimComment,vimCtrlChar,vimEscapeBrace,vimFilter,vimFunc,vimFunction,vimIsCommand,vimMark,vimNotation,vimNumber,vimOper,vimRegion,vimRegister,vimLet,vimSet,vimSetEqual,vimSetString,vimSpecFile,vimString,vimSubst,vimSubstRep,vimSubstRange,vimSynLine
 syn keyword vimUserCommand	contained	com[mand]
@@ -143,30 +153,34 @@
 syn match   vimUserAttrb	contained	"-bang\=\>"	contains=vimOper,vimUserAttrbKey
 syn match   vimUserAttrb	contained	"-bar\>"	contains=vimOper,vimUserAttrbKey
 syn match   vimUserAttrb	contained	"-re\%[gister]\>"	contains=vimOper,vimUserAttrbKey
-syn match   vimUserCmdError	contained	"\S\+\>"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimUserCmdError	contained	"\S\+\>"
+endif
 syn case ignore
 syn keyword vimUserAttrbKey   contained	bar	ban[g]	cou[nt]	ra[nge] com[plete]	n[args]	re[gister]
 syn keyword vimUserAttrbCmplt contained	augroup buffer command dir environment event expression file function help highlight mapping menu option tag tag_listfiles var
 syn case match
 syn match   vimUserAttrbCmplt contained	"custom,\u\w*"
 
-" Errors: {{{1
+" Errors: {{{2
 " ======
-syn match  vimElseIfErr	"\<else\s\+if\>"
+if !exists("g:vimsyntax_noerror")
+ syn match  vimElseIfErr	"\<else\s\+if\>"
+endif
 
-" Lower Priority Comments: after some vim commands... {{{1
+" Lower Priority Comments: after some vim commands... {{{2
 " =======================
 syn match  vimComment	excludenl +\s"[^\-:.%#=*].*$+lc=1	contains=@vimCommentGroup,vimCommentString
 syn match  vimComment	+\<endif\s\+".*$+lc=5	contains=@vimCommentGroup,vimCommentString
 syn match  vimComment	+\<else\s\+".*$+lc=4	contains=@vimCommentGroup,vimCommentString
 syn region vimCommentString	contained oneline start='\S\s\+"'ms=s+1	end='"'
 
-" Environment Variables: {{{1
+" Environment Variables: {{{2
 " =====================
 syn match vimEnvvar	"\$\I\i*"
 syn match vimEnvvar	"\${\I\i*}"
 
-" In-String Specials: {{{1
+" In-String Specials: {{{2
 " Try to catch strings, if nothing else matches (therefore it must precede the others!)
 "  vimEscapeBrace handles ["]  []"] (ie. "s don't terminate string inside [])
 syn region vimEscapeBrace	oneline contained transparent	start="[^\\]\(\\\\\)*\[\^\=\]\=" skip="\\\\\|\\\]" end="\]"me=e-1
@@ -181,12 +195,11 @@
 syn region vimString	oneline keepend	start=+[^:a-zA-Z>!\\]'+lc=1 end=+'+	contains=@vimStringGroup
 syn region vimString	oneline	start=+=!+lc=1	skip=+\\\\\|\\!+ end=+!+	contains=@vimStringGroup
 syn region vimString	oneline	start="=+"lc=1	skip="\\\\\|\\+" end="+"	contains=@vimStringGroup
-syn region vimString	oneline	start="[^\\]+\s*[^a-zA-Z0-9. \t]"lc=1 skip="\\\\\|\\+" end="+"	contains=@vimStringGroup
 syn region vimString	oneline	start="\s/\s*\A"lc=1 skip="\\\\\|\\+" end="/"	contains=@vimStringGroup
 syn match  vimString	contained	+"[^"]*\\$+	skipnl nextgroup=vimStringCont
 syn match  vimStringCont	contained	+\(\\\\\|.\)\{-}[^\\]"+
 
-" Substitutions: {{{1
+" Substitutions: {{{2
 " =============
 syn cluster vimSubstList	contains=vimPatSep,vimPatRegion,vimPatSepErr,vimSubstTwoBS,vimSubstRange,vimNotation
 syn cluster vimSubstRepList	contains=vimSubstSubstr,vimSubstTwoBS,vimNotation
@@ -205,10 +218,10 @@
 syn match   vimSubstFlagErr contained	"[^< \t\r]\+" contains=vimSubstFlags
 syn match   vimSubstFlags   contained	"[&cegiIpr]\+"
 
-" 'String': {{{1
+" 'String': {{{2
 syn match  vimString	"[^(,]'[^']\{-}'"lc=1	contains=@vimStringGroup
 
-" Marks, Registers, Addresses, Filters: {{{1
+" Marks, Registers, Addresses, Filters: {{{2
 syn match  vimMark	"'[a-zA-Z0-9]\ze[-+,!]"	nextgroup=vimOper,vimMarkNumber,vimSubst
 syn match  vimMark	"'[<>]\ze[-+,!]"		nextgroup=vimOper,vimMarkNumber,vimSubst
 syn match  vimMark	",\zs'[<>]\ze"		nextgroup=vimOper,vimMarkNumber,vimSubst
@@ -220,6 +233,7 @@
 syn match  vimRegister	'[^(,;.]"[a-zA-Z0-9.%#:_\-/][^a-zA-Z_"]'lc=1,me=e-1
 syn match  vimRegister	'\<norm\s\+"[a-zA-Z0-9]'lc=5
 syn match  vimRegister	'\<normal\s\+"[a-zA-Z0-9]'lc=7
+syn match  vimRegister	'@"'
 syn match  vimPlainRegister contained	'"[a-zA-Z0-9\-:.%#*+=]'
 
 syn match  vimAddress	",[.$]"lc=1	skipwhite nextgroup=vimSubst1
@@ -228,29 +242,29 @@
 syn match  vimFilter contained	"^!.\{-}\(|\|$\)"		contains=vimSpecFile
 syn match  vimFilter contained	"\A!.\{-}\(|\|$\)"ms=s+1	contains=vimSpecFile
 
-" Complex repeats (:h complex-repeat) {{{1
+" Complex repeats (:h complex-repeat) {{{2
 syn match  vimCmplxRepeat	'[^a-zA-Z_/\\]q[0-9a-zA-Z"]'lc=1
 syn match  vimCmplxRepeat	'@[0-9a-z".=@:]\ze\($\|[^a-zA-Z]\)'
 
-" Set command and associated set-options (vimOptions) with comment {{{1
+" Set command and associated set-options (vimOptions) with comment {{{2
 syn region vimSet		matchgroup=vimCommand start="\<setlocal\|set\>" end="|"me=e-1 end="$" matchgroup=vimNotation end="<[cC][rR]>" keepend contains=vimSetEqual,vimOption,vimErrSetting,vimComment,vimSetString,vimSetMod
 syn region vimSetEqual  contained	start="="	skip="\\\\\|\\\s" end="[| \t]\|$"me=e-1 contains=vimCtrlChar,vimSetSep,vimNotation
 syn region vimSetString contained	start=+="+hs=s+1	skip=+\\\\\|\\"+  end=+"+	contains=vimCtrlChar
 syn match  vimSetSep    contained	"[,:]"
 syn match  vimSetMod	contained	"&vim\|[!&]\|all&"
 
-" Let {{{1
+" Let {{{2
 " ===
 syn keyword vimLet	let	unl[et]	skipwhite nextgroup=vimVar
 
-" Autocmd {{{1
+" Autocmd {{{2
 " =======
 syn match   vimAutoEventList	contained	"\(!\s\+\)\=\(\a\+,\)*\a\+"	contains=vimAutoEvent nextgroup=vimAutoCmdSpace
 syn match   vimAutoCmdSpace	contained	"\s\+"	nextgroup=vimAutoCmdSfxList
 syn match   vimAutoCmdSfxList	contained	"\S*"
 syn keyword vimAutoCmd	au[tocmd] do[autocmd] doautoa[ll]	skipwhite nextgroup=vimAutoEventList
 
-" Echo and Execute -- prefer strings! {{{1
+" Echo and Execute -- prefer strings! {{{2
 " ================
 syn region  vimEcho	oneline excludenl matchgroup=vimCommand start="\<ec\%[ho]\>" skip="\(\\\\\)*\\|" end="$\||" contains=vimFunc,vimString,varVar
 syn region  vimExecute	oneline excludenl matchgroup=vimCommand start="\<exe\%[cute]\>" skip="\(\\\\\)*\\|" end="$\||\|<[cC][rR]>" contains=vimIsCommand,vimString,vimOper,vimVar,vimNotation
@@ -259,7 +273,7 @@
 syn keyword vimEchoHLNone	none
 syn case match
 
-" Maps {{{1
+" Maps {{{2
 " ====
 syn cluster vimMapGroup	contains=vimMapBang,vimMapLhs,vimMapMod
 syn keyword vimMap	cm[ap] cno[remap] im[ap] ino[remap] map nm[ap] nn[oremap] no[remap] om[ap] ono[remap] vm[ap] vn[oremap] skipwhite nextgroup=@vimMapGroup
@@ -270,7 +284,7 @@
 syn keyword vimMapModKey contained	buffer	leader	localleader	plug	script	sid	silent	unique
 syn case match
 
-" Menus {{{1
+" Menus {{{2
 " =====
 syn cluster vimMenuList contains=vimMenuBang,vimMenuPriority,vimMenuName,vimMenuMod
 syn keyword vimCommand	am[enu] an[oremenu] aun[menu] cme[nu] cnoreme[nu] cunme[nu] ime[nu] inoreme[nu] iunme[nu] me[nu] nme[nu] nnoreme[nu] noreme[nu] nunme[nu] ome[nu] onoreme[nu] ounme[nu] unme[nu] vme[nu] vnoreme[nu] vunme[nu] skipwhite nextgroup=@vimMenuList
@@ -282,7 +296,7 @@
 syn match   vimMenuRhs	".*$"	contained contains=vimString,vimComment,vimIsCommand
 syn match   vimMenuBang	"!"	contained skipwhite nextgroup=@vimMenuList
 
-" Angle-Bracket Notation (tnx to Michael Geddes) {{{1
+" Angle-Bracket Notation (tnx to Michael Geddes) {{{2
 " ======================
 syn case ignore
 syn match vimNotation	"\(\\\|<lt>\)\=<\([scam]-\)\{0,4}x\=\(f\d\{1,2}\|[^ \t:]\|cr\|lf\|linefeed\|return\|k\=del\%[ete]\|bs\|backspace\|tab\|esc\|right\|left\|help\|undo\|insert\|ins\|k\=home\|k\=end\|kplus\|kminus\|kdivide\|kmultiply\|kenter\|space\|k\=\(page\)\=\(\|down\|up\)\)>" contains=vimBracket
@@ -294,18 +308,21 @@
 syn match vimBracket contained	"[\\<>]"
 syn case match
 
-" User Function Highlighting (following Gautam Iyer's suggestion)
+" User Function Highlighting (following Gautam Iyer's suggestion) {{{2
 " ==========================
-syn match vimFunc	"\%([sS]:\|<[sS][iI][dD]>\)\=\I\i*\ze\s*("		contains=vimUserFunc,vimFuncName
-syn match vimUserFunc "\%([sS]:\|<[sS][iI][dD]>\)\i\+\|\<\u\i*\>\|\<if\>"	contained contains=vimNotation,vimCommand
+syn match vimFunc		"\%([sS]:\|<[sS][iI][dD]>\)\=\I\i*\ze\s*("	contains=vimUserFunc,vimFuncName,vimCommand,vimNotFunc
+syn match vimUserFunc contained	"\%([sS]:\|<[sS][iI][dD]>\)\i\+\|\<\u\i*\>\|\<if\>"	contains=vimNotation,vimCommand
+syn match vimNotFunc  contained	"\<[aiAIrR]("
 
-" Syntax {{{1
+" Syntax {{{2
 "=======
 syn match   vimGroupList	contained	"@\=[^ \t,]*"	contains=vimGroupSpecial,vimPatSep
 syn match   vimGroupList	contained	"@\=[^ \t,]*,"	nextgroup=vimGroupList contains=vimGroupSpecial,vimPatSep
 syn keyword vimGroupSpecial	contained	ALL	ALLBUT
-syn match   vimSynError	contained	"\i\+"
-syn match   vimSynError	contained	"\i\+="	nextgroup=vimGroupList
+if !exists("g:vimsyntax_noerror")
+ syn match   vimSynError	contained	"\i\+"
+ syn match   vimSynError	contained	"\i\+="	nextgroup=vimGroupList
+endif
 syn match   vimSynContains	contained	"\<contain\(s\|edin\)="	nextgroup=vimGroupList
 syn match   vimSynKeyContainedin	contained	"\<containedin="	nextgroup=vimGroupList
 syn match   vimSynNextgroup	contained	"nextgroup="	nextgroup=vimGroupList
@@ -313,30 +330,32 @@
 syn match   vimSyntax	"\<sy\%[ntax]\>"	contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
 syn match   vimAuSyntax	contained	"\s+sy\%[ntax]"	contains=vimCommand skipwhite nextgroup=vimSynType,vimComment
 
-" Syntax: case {{{1
+" Syntax: case {{{2
 syn keyword vimSynType	contained	case	skipwhite nextgroup=vimSynCase,vimSynCaseError
-syn match   vimSynCaseError	contained	"\i\+"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimSynCaseError	contained	"\i\+"
+endif
 syn keyword vimSynCase	contained	ignore	match
 
-" Syntax: clear {{{1
+" Syntax: clear {{{2
 syn keyword vimSynType	contained	clear	skipwhite nextgroup=vimGroupList
 
-" Syntax: cluster {{{1
+" Syntax: cluster {{{2
 syn keyword vimSynType	contained	cluster	skipwhite nextgroup=vimClusterName
 syn region  vimClusterName	contained	matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="$\||" contains=vimGroupAdd,vimGroupRem,vimSynContains,vimSynError
 syn match   vimGroupAdd	contained	"add="	nextgroup=vimGroupList
 syn match   vimGroupRem	contained	"remove="	nextgroup=vimGroupList
 
-" Syntax: include {{{1
+" Syntax: include {{{2
 syn keyword vimSynType	contained	include	skipwhite nextgroup=vimGroupList
 
-" Syntax: keyword {{{1
+" Syntax: keyword {{{2
 syn cluster vimSynKeyGroup	contains=vimSynNextgroup,vimSynKeyOpt,vimSynKeyContainedin
 syn keyword vimSynType	contained	keyword	skipwhite nextgroup=vimSynKeyRegion
 syn region  vimSynKeyRegion	contained keepend	matchgroup=vimGroupName start="\k\+" skip="\\\\\|\\|" matchgroup=vimSep end="|\|$" contains=@vimSynKeyGroup
 syn match   vimSynKeyOpt	contained	"\<\(conceal\|contained\|transparent\|skipempty\|skipwhite\|skipnl\)\>"
 
-" Syntax: match {{{1
+" Syntax: match {{{2
 syn cluster vimSynMtchGroup	contains=vimMtchComment,vimSynContains,vimSynError,vimSynMtchOpt,vimSynNextgroup,vimSynRegPat,vimNotation
 syn keyword vimSynType	contained	match	skipwhite nextgroup=vimSynMatchRegion
 syn region  vimSynMatchRegion	contained keepend	matchgroup=vimGroupName start="\k\+" matchgroup=vimSep end="|\|$" contains=@vimSynMtchGroup
@@ -346,10 +365,10 @@
  syn match   vimSynMtchCchar	contained	"."
 endif
 
-" Syntax: off and on {{{1
+" Syntax: off and on {{{2
 syn keyword vimSynType	contained	enable	list	manual	off	on	reset
 
-" Syntax: region {{{1
+" Syntax: region {{{2
 syn cluster vimSynRegPatGroup	contains=vimPatSep,vimNotPatSep,vimSynPatRange,vimSynNotPatRange,vimSubstSubstr,vimPatRegion,vimPatSepErr,vimNotation
 syn cluster vimSynRegGroup	contains=vimSynContains,vimSynNextgroup,vimSynRegOpt,vimSynReg,vimSynMtchGrp
 syn keyword vimSynType	contained	region	skipwhite nextgroup=vimSynRegion
@@ -366,10 +385,12 @@
 syn match   vimSynNotPatRange	contained	"\\\\\|\\\["
 syn match   vimMtchComment	contained	'"[^"]\+$'
 
-" Syntax: sync {{{1
+" Syntax: sync {{{2
 " ============
 syn keyword vimSynType	contained	sync	skipwhite	nextgroup=vimSyncC,vimSyncLines,vimSyncMatch,vimSyncError,vimSyncLinecont,vimSyncRegion
-syn match   vimSyncError	contained	"\i\+"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimSyncError	contained	"\i\+"
+endif
 syn keyword vimSyncC	contained	ccomment	clear	fromstart
 syn keyword vimSyncMatch	contained	match	skipwhite	nextgroup=vimSyncGroupName
 syn keyword vimSyncRegion	contained	region	skipwhite	nextgroup=vimSynReg
@@ -380,11 +401,11 @@
 syn match   vimSyncGroup	contained	"\k\+"	skipwhite	nextgroup=vimSynRegPat,vimSyncNone
 syn keyword vimSyncNone	contained	NONE
 
-" Additional IsCommand, here by reasons of precedence {{{1
+" Additional IsCommand, here by reasons of precedence {{{2
 " ====================
 syn match vimIsCommand	"<Bar>\s*\a\+"	transparent contains=vimCommand,vimNotation
 
-" Highlighting {{{1
+" Highlighting {{{2
 " ============
 syn cluster vimHighlightCluster	contains=vimHiLink,vimHiClear,vimHiKeyList,vimComment
 syn match   vimHighlight	"\<hi\%[ghlight]\>" skipwhite nextgroup=vimHiBang,@vimHighlightCluster
@@ -404,12 +425,16 @@
 syn match   vimHiFontname	contained	"[a-zA-Z\-*]\+"
 syn match   vimHiGuiFontname	contained	"'[a-zA-Z\-* ]\+'"
 syn match   vimHiGuiRgb	contained	"#\x\{6}"
-syn match   vimHiCtermError	contained	"[^0-9]\i*"
+if !exists("g:vimsyntax_noerror")
+ syn match   vimHiCtermError	contained	"[^0-9]\i*"
+endif
 
-" Highlighting: hi group key=arg ... {{{1
+" Highlighting: hi group key=arg ... {{{2
 syn cluster vimHiCluster contains=vimHiGroup,vimHiTerm,vimHiCTerm,vimHiStartStop,vimHiCtermFgBg,vimHiGui,vimHiGuiFont,vimHiGuiFgBg,vimHiKeyError,vimNotation
 syn region vimHiKeyList	contained oneline start="\i\+" skip="\\\\\|\\|" end="$\||"	contains=@vimHiCluster
-syn match  vimHiKeyError	contained	"\i\+="he=e-1
+if !exists("g:vimsyntax_noerror")
+ syn match  vimHiKeyError	contained	"\i\+="he=e-1
+endif
 syn match  vimHiTerm	contained	"\cterm="he=e-1		nextgroup=vimHiAttribList
 syn match  vimHiStartStop	contained	"\c\(start\|stop\)="he=e-1	nextgroup=vimHiTermcap,vimOption
 syn match  vimHiCTerm	contained	"\ccterm="he=e-1		nextgroup=vimHiAttribList
@@ -419,17 +444,17 @@
 syn match  vimHiGuiFgBg	contained	"\cgui[fb]g="he=e-1	nextgroup=vimHiGroup,vimHiGuiFontname,vimHiGuiRgb,vimFgBgAttrib
 syn match  vimHiTermcap	contained	"\S\+"		contains=vimNotation
 
-" Highlight: clear {{{1
+" Highlight: clear {{{2
 syn keyword vimHiClear	contained	clear	nextgroup=vimHiGroup
 
-" Highlight: link {{{1
+" Highlight: link {{{2
 syn region vimHiLink	contained oneline matchgroup=vimCommand start="\<\(def\s\+\)\=link\>\|\<def\>" end="$"	contains=vimHiGroup,vimGroup,vimHLGroup,vimNotation
 
-" Control Characters {{{1
+" Control Characters {{{2
 " ==================
 syn match vimCtrlChar	"[--]"
 
-" Beginners - Patterns that involve ^ {{{1
+" Beginners - Patterns that involve ^ {{{2
 " =========
 syn match  vimLineComment	+^[ \t:]*".*$+	contains=@vimCommentGroup,vimCommentString,vimCommentTitle
 syn match  vimCommentTitle	'"\s*\u\w*\(\s\+\u\w*\)*:'hs=s+1	contained contains=vimCommentTitleLeader,vimTodo,@vimCommentGroup
@@ -437,7 +462,7 @@
 syn region vimString	start="^\s*\\\z(['"]\)" skip='\\\\\|\\\z1' end="\z1" oneline keepend contains=@vimStringGroup,vimContinue
 syn match  vimCommentTitleLeader	'"\s\+'ms=s+1	contained
 
-" Scripts  : perl,ruby : Benoit Cerrina {{{1
+" Scripts  : perl,ruby : Benoit Cerrina {{{2
 " =======    python,tcl: Johannes Zellner
 
 " allow users to prevent embedded script syntax highlighting
@@ -447,7 +472,7 @@
  let g:vimembedscript= 1
 endif
 
-" [-- perl --] {{{2
+" [-- perl --] {{{3
 if (has("perl") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/perl.vim")
  unlet! b:current_syntax
  syn include @vimPerlScript <sfile>:p:h/perl.vim
@@ -455,7 +480,7 @@
  syn region vimPerlRegion matchgroup=vimScriptDelim start=+pe\%[rl]\s*<<\s*$+ end=+\.$+ contains=@vimPerlScript
 endif
 
-" [-- ruby --] {{{2
+" [-- ruby --] {{{3
 if (has("ruby") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/ruby.vim")
  unlet! b:current_syntax
  syn include @vimRubyScript <sfile>:p:h/ruby.vim
@@ -463,7 +488,7 @@
  syn region vimRubyRegion matchgroup=vimScriptDelim start=+rub[y]\s*<<\s*$+ end=+\.$+ contains=@vimRubyScript
 endif
 
-" [-- python --] {{{2
+" [-- python --] {{{3
 if (has("python") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/python.vim")
  unlet! b:current_syntax
  syn include @vimPythonScript <sfile>:p:h/python.vim
@@ -471,7 +496,7 @@
  syn region vimPythonRegion matchgroup=vimScriptDelim start=+py\%[thon]\s*<<\s*$+ end=+\.$+ contains=@vimPythonScript
 endif
 
-" [-- tcl --] {{{2
+" [-- tcl --] {{{3
 if (has("tcl") || g:vimembedscript) && filereadable(expand("<sfile>:p:h")."/tcl.vim")
  unlet! b:current_syntax
  syn include @vimTclScript <sfile>:p:h/tcl.vim
@@ -479,7 +504,7 @@
  syn region vimTclRegion matchgroup=vimScriptDelim start=+tc[l]\=\s*<<\s*$+ end=+\.$+ contains=@vimTclScript
 endif
 
-" Synchronize (speed) {{{1
+" Synchronize (speed) {{{2
 "============
 if exists("g:vim_minlines")
  exe "syn sync minlines=".g:vim_minlines
@@ -492,39 +517,47 @@
 syn sync linecont	"^\s\+\\"
 syn sync match vimAugroupSyncA	groupthere NONE	"\<aug\%[roup]\>\s\+[eE][nN][dD]"
 
-" Highlighting Settings {{{1
+" Highlighting Settings {{{2
 " ====================
 
 hi def link vimAuHighlight	vimHighlight
 hi def link vimSubst1	vimSubst
 hi def link vimBehaveModel	vimBehave
 
-hi def link vimAddress	vimMark
+if !exists("g:vimsyntax_noerror")
 "  hi def link vimAugroupError	vimError
+ hi def link vimBehaveError	vimError
+ hi def link vimCollClassErr	vimError
+ hi def link vimErrSetting	vimError
+ hi def link vimFTError	vimError
+ hi def link vimFunctionError	vimError
+ hi def link VimFunc         	vimError
+ hi def link vimHiAttribList	vimError
+ hi def link vimHiCtermError	vimError
+ hi def link vimHiKeyError	vimError
+ hi def link vimKeyCodeError	vimError
+ hi def link vimMapModErr	vimError
+ hi def link vimSubstFlagErr	vimError
+ hi def link vimSynCaseError	vimError
+endif
+
+hi def link vimAddress	vimMark
 hi def link vimAugroupKey	vimCommand
 hi def link vimAutoCmdOpt	vimOption
 hi def link vimAutoCmd	vimCommand
 hi def link vimAutoSet	vimCommand
-hi def link vimBehaveError	vimError
 hi def link vimBehave	vimCommand
-hi def link vimCollClassErr	vimError
 hi def link vimCommentString	vimString
 hi def link vimCondHL	vimCommand
 hi def link vimEchoHLNone	vimGroup
 hi def link vimEchoHL	vimCommand
 hi def link vimElseif	vimCondHL
-hi def link vimErrSetting	vimError
 hi def link vimFgBgAttrib	vimHiAttrib
 hi def link vimFTCmd	vimCommand
-hi def link vimFTError	vimError
 hi def link vimFTOption	vimSynType
-hi def link VimFunc         	vimError
 hi def link vimFuncKey	vimCommand
-hi def link vimFunctionError	vimError
 hi def link vimGroupAdd	vimSynOption
 hi def link vimGroupRem	vimSynOption
-hi def link vimHiAttribList	vimError
-hi def link vimHiCtermError	vimError
 hi def link vimHiCtermFgBg	vimHiTerm
 hi def link vimHiCTerm	vimHiTerm
 hi def link vimHighlight	vimCommand
@@ -533,16 +566,13 @@
 hi def link vimHiGuiFont	vimHiTerm
 hi def link vimHiGuiRgb	vimNumber
 hi def link vimHiGui	vimHiTerm
-hi def link vimHiKeyError	vimError
 hi def link vimHiStartStop	vimHiTerm
 hi def link vimHLGroup	vimGroup
 hi def link vimInsert	vimString
-hi def link vimKeyCodeError	vimError
 hi def link vimKeyCode	vimSpecFile
 hi def link vimLet	vimCommand
 hi def link vimLineComment	vimComment
 hi def link vimMapBang	vimCommand
-hi def link vimMapModErr	vimError
 hi def link vimMapModKey	vimFuncSID
 hi def link vimMapMod	vimBracket
 hi def link vimMap	vimCommand
@@ -560,10 +590,8 @@
 hi def link vimSetString	vimString
 hi def link vimSpecFileMod	vimSpecFile
 hi def link vimStringCont	vimString
-hi def link vimSubstFlagErr	vimError
 hi def link vimSubstTwoBS	vimString
 hi def link vimSubst	vimCommand
-hi def link vimSynCaseError	vimError
 hi def link vimSyncGroupName	vimGroupName
 hi def link vimSyncGroup	vimGroupName
 hi def link vimSynContains	vimSynOption
@@ -637,6 +665,6 @@
 hi def link vimTodo	Todo
 hi def link vimUserCmdError	Error
 
-" Current Syntax Variable: {{{1
+" Current Syntax Variable: {{{2
 let b:current_syntax = "vim"
 " vim:ts=18  fdm=marker