updated for version 7.0089
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index aba12a1..83f81ad 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jun 17
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jun 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1603,6 +1603,8 @@
 setwinvar( {nr}, {varname}, {val})	set {varname} in window {nr} to {val}
 simplify( {filename})		String	simplify filename as much as possible
 sort( {list} [, {func}])	List	sort {list}, using {func} to compare
+spellbadword()			String	badly spelled word at cursor
+spellsuggest({word} [, {max}])	List	spelling suggestions
 split( {expr} [, {pat} [, {keepempty}]])
 				List	make List from {pat} separated {expr}
 strftime( {format}[, {time}])	String	time in specified format
@@ -3757,6 +3759,27 @@
 			   return a:i1 == a:i2 ? 0 : a:i1 > a:i2 ? 1 : -1
 			endfunc
 			let sortedlist = sort(mylist, "MyCompare")
+<
+
+							*spellbadword()*
+spellbadword()	Return the badly spelled word under or after the cursor.
+		The cursor is advanced to the start of the bad word.
+		When no bad word is found in the cursor line an empty String
+		is returned and the cursor doesn't move.
+
+							*spellsuggest()*
+spellsuggest({word} [, {max}])
+		Return a List with spelling suggestions to replace {word}.
+		When {max} is given up to this number of suggestions are
+		returned.  Otherwise up to 25 suggestions are returned.
+
+		{word} can be a badly spelled word followed by other text.
+		This allows for joining two words that were split.  The
+		suggestions then also include the following text.
+
+		The spelling information for the current window is used.  The
+		'spell' option must be set and 'spelllang' is relevant.
+
 
 split({expr} [, {pattern} [, {keepempty}]])			*split()*
 		Make a List out of {expr}.  When {pattern} is omitted or empty
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index 94bd9f4..a2c05f9 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2005 Jun 17
+*options.txt*	For Vim version 7.0aa.  Last change: 2005 Jun 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -5662,6 +5662,25 @@
 	idea to set 'spelllang' after setting 'encoding'.
 	More info at |spell|.
 
+						*'spellsuggest'* *'sps'*
+'spellsuggest' 'sps'	string	(default "best")
+			global
+			{not in Vi}
+			{not available when compiled without the |+syntax|
+			feature}
+	Method used for spelling suggestions |z?|.  Can be one of these
+	values:
+
+	best		Method that works best for English.  Finds small
+			changes and uses some sound-a-like scoring.
+	double		Uses two methods and mixes the results.  The first
+			method is finding small changes, the other method
+			computes how much the suggestion sounds like the bad
+			word.  Can be slow and doesn't always give better
+			results.
+	fast		Only check for small changes.
+
+
 			*'splitbelow'* *'sb'* *'nosplitbelow'* *'nosb'*
 'splitbelow' 'sb'	boolean	(default off)
 			global
diff --git a/runtime/doc/spell.txt b/runtime/doc/spell.txt
index 4c7a1a8..7013e6d 100644
--- a/runtime/doc/spell.txt
+++ b/runtime/doc/spell.txt
@@ -1,4 +1,4 @@
-*spell.txt*	For Vim version 7.0aa.  Last change: 2005 Jun 19
+*spell.txt*	For Vim version 7.0aa.  Last change: 2005 Jun 21
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -92,6 +92,12 @@
 			higher the score the more different).
 			The score may be slightly wrong for words with
 			multi-byte characters.
+			When a word was replaced the redo command "." will
+			repeat the word replacement.  This works like "ciw",
+			the good word and <Esc>.
+
+The 'spellsuggest' option influences how the list of suggestions is generated
+and sorted.  See |'spellsuggest'|.
 
 
 PERFORMANCE
@@ -337,7 +343,7 @@
 	/regions=uscagb				regions "us", "ca" and "gb"
 	example					word for all regions
 	/1blah					word for region 1 "us"
-	/!Vim					bad word
+	/!vim					bad word
 	/?3Campbell				rare word in region 3 "gb"
 	/='s mornings				keep-case word
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 7ec2e28..ce4807a 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5130,6 +5130,7 @@
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
@@ -6274,6 +6275,8 @@
 spell-syntax	spell.txt	/*spell-syntax*
 spell-wordlist-format	spell.txt	/*spell-wordlist-format*
 spell.txt	spell.txt	/*spell.txt*
+spellbadword()	eval.txt	/*spellbadword()*
+spellsuggest()	eval.txt	/*spellsuggest()*
 split()	eval.txt	/*split()*
 splitfind	windows.txt	/*splitfind*
 splitview	windows.txt	/*splitview*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 06a8fbc..6159b8f 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Jun 19
+*todo.txt*      For Vim version 7.0aa.  Last change: 2005 Jun 22
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,9 +30,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Can define a function with illegal name (Servatius Brandt):
-    function F{-1}()
-
 Add extra list of file locations.  Can be used with:
     :ltag	      list of matching tags, like :tselect
 
@@ -56,6 +53,8 @@
     Patch from Sergey Khorev, 2005 Apr 11
     Add has("balloon_multiline")
 
+Win32: Crash when pasting Simplified Chinese in utf-8. (rainux, 2005 June 20)
+
 Mac unicode patch (Da Woon Jung):
 - selecting proportional font breaks display
 - UTF-8 text causes display problems.  Font replacement causes this.
@@ -100,14 +99,22 @@
 -   Add SPELLCHECKER, with support for many languages.
     - Spell checking code todo's:
 	- Code for making suggestions:
-	  - Hebrew: also use prefixes for suggestions.
+	  - ":mkspell" runs out of memory for Polish with utf-8.
 	  - When 'spellfile' directory doesn't exist, ask user to create it?
+	  - When 'spelllang' has more than one language only .add file of
+	    first is used?
 	  - Aspell has the "special" character, useful?
+	  - Can "the the" be added as a bad word?
+		Add BAD item in .aff file, set WF_BANNED flag.
+	  - Simple and fast sound-a-like: mapping list for first char and rest
+		    vowel as first char: *
+		    remove other vowels
+	  - How about words that are split over two lines?  E.g., "et al.".
 	  - When putting map string in .spl file check for duplicate chars.
-	  - GUI: Selecting text doesn't work at the prompt.
-	  - Should "z?" replacement be redo-able with "."?
+	  - Hebrew: also use prefixes for suggestions.  See message from
+	    Kaminsky (June 20) for ideas.
 	  - The sound-folding doesn't work for multi-byte characters.  It's
-	    very slow too.  Prepare the table (remove alternatives)?
+	    very slow too.
 	- Also put list of word characters in word list file.  Otherwise the
 	  one for Italian may differ from the one used for English.
 	- Make "en-rare" spell file.
@@ -121,8 +128,8 @@
 	http://spellchecker.mozdev.org/source.html
 	http://whiteboard.openoffice.org/source/browse/whiteboard/lingucomponent/source/spellcheck/myspell/
       author: Kevin Hendricks <kevin.hendricks@sympatico.ca>
-    - Update option window for 'verbosefile', 'spell', 'spellfile' and
-      'spelllang'.
+    - Update option window for 'verbosefile', 'spell', 'spellfile',
+      'spellsuggest' and 'spelllang'.
     - Distribution: Need wordlists for many languages; "language pack"
       Put them on the ftp site, ready to download.  Include README for
       copyrights.
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index fa89204..40002dd 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Jun 17
+*version7.txt*  For Vim version 7.0aa.  Last change: 2005 Jun 21
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1137,5 +1137,8 @@
 setbufvar() and setwinvar() did not give error messages.
 
 It was possible to set a variable with an illegal name, e.g. with setbufvar().
+It was possible to define a function with illegal name, e.t. ":func F{-1}()"
+
+CTRL-W F and "gf" didn't use the same method to get the file name.
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/spell/en.ascii.spl b/runtime/spell/en.ascii.spl
index a9ae844..8c6b0f2 100644
--- a/runtime/spell/en.ascii.spl
+++ b/runtime/spell/en.ascii.spl
Binary files differ
diff --git a/runtime/spell/en.latin1.spl b/runtime/spell/en.latin1.spl
index 6130166..ba4990c 100644
--- a/runtime/spell/en.latin1.spl
+++ b/runtime/spell/en.latin1.spl
Binary files differ
diff --git a/runtime/spell/en.utf-8.spl b/runtime/spell/en.utf-8.spl
index b4fecef..b8353c9 100644
--- a/runtime/spell/en.utf-8.spl
+++ b/runtime/spell/en.utf-8.spl
Binary files differ
diff --git a/runtime/syntax/c.vim b/runtime/syntax/c.vim
index eef3382..f826262 100644
--- a/runtime/syntax/c.vim
+++ b/runtime/syntax/c.vim
@@ -1,13 +1,10 @@
 " Vim syntax file
 " Language:	C
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2005 Jan 26
+" Last Change:	2005 Jun 20
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -298,63 +295,51 @@
 exec "syn sync ccomment cComment minlines=" . b:c_minlines
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_c_syn_inits")
-  if version < 508
-    let did_c_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink cFormat		cSpecial
-  HiLink cCppString		cString
-  HiLink cCommentL		cComment
-  HiLink cCommentStart		cComment
-  HiLink cLabel			Label
-  HiLink cUserLabel		Label
-  HiLink cConditional		Conditional
-  HiLink cRepeat		Repeat
-  HiLink cCharacter		Character
-  HiLink cSpecialCharacter	cSpecial
-  HiLink cNumber		Number
-  HiLink cOctal			Number
-  HiLink cOctalZero		PreProc	 " link this to Error if you want
-  HiLink cFloat			Float
-  HiLink cOctalError		cError
-  HiLink cParenError		cError
-  HiLink cErrInParen		cError
-  HiLink cErrInBracket		cError
-  HiLink cCommentError		cError
-  HiLink cCommentStartError	cError
-  HiLink cSpaceError		cError
-  HiLink cSpecialError		cError
-  HiLink cOperator		Operator
-  HiLink cStructure		Structure
-  HiLink cStorageClass		StorageClass
-  HiLink cInclude		Include
-  HiLink cPreProc		PreProc
-  HiLink cDefine		Macro
-  HiLink cIncluded		cString
-  HiLink cError			Error
-  HiLink cStatement		Statement
-  HiLink cPreCondit		PreCondit
-  HiLink cType			Type
-  HiLink cConstant		Constant
-  HiLink cCommentString		cString
-  HiLink cComment2String	cString
-  HiLink cCommentSkip		cComment
-  HiLink cString		String
-  HiLink cComment		Comment
-  HiLink cSpecial		SpecialChar
-  HiLink cTodo			Todo
-  HiLink cCppSkip		cCppOut
-  HiLink cCppOut2		cCppOut
-  HiLink cCppOut		Comment
-
-  delcommand HiLink
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link cFormat		cSpecial
+hi def link cCppString		cString
+hi def link cCommentL		cComment
+hi def link cCommentStart	cComment
+hi def link cLabel		Label
+hi def link cUserLabel		Label
+hi def link cConditional	Conditional
+hi def link cRepeat		Repeat
+hi def link cCharacter		Character
+hi def link cSpecialCharacter	cSpecial
+hi def link cNumber		Number
+hi def link cOctal		Number
+hi def link cOctalZero		PreProc	 " link this to Error if you want
+hi def link cFloat		Float
+hi def link cOctalError		cError
+hi def link cParenError		cError
+hi def link cErrInParen		cError
+hi def link cErrInBracket	cError
+hi def link cCommentError	cError
+hi def link cCommentStartError	cError
+hi def link cSpaceError		cError
+hi def link cSpecialError	cError
+hi def link cOperator		Operator
+hi def link cStructure		Structure
+hi def link cStorageClass	StorageClass
+hi def link cInclude		Include
+hi def link cPreProc		PreProc
+hi def link cDefine		Macro
+hi def link cIncluded		cString
+hi def link cError		Error
+hi def link cStatement		Statement
+hi def link cPreCondit		PreCondit
+hi def link cType		Type
+hi def link cConstant		Constant
+hi def link cCommentString	cString
+hi def link cComment2String	cString
+hi def link cCommentSkip	cComment
+hi def link cString		String
+hi def link cComment		Comment
+hi def link cSpecial		SpecialChar
+hi def link cTodo		Todo
+hi def link cCppSkip		cCppOut
+hi def link cCppOut2		cCppOut
+hi def link cCppOut		Comment
 
 let b:current_syntax = "c"
 
diff --git a/runtime/syntax/conf.vim b/runtime/syntax/conf.vim
index d08de4f..9b8a636 100644
--- a/runtime/syntax/conf.vim
+++ b/runtime/syntax/conf.vim
@@ -1,13 +1,10 @@
 " Vim syntax file
 " Language:	generic configure file
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Apr 25
+" Last Change:	2005 Jun 20
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -19,22 +16,10 @@
 syn region	confString	start=+'+ skip=+\\\\\|\\'+ end=+'+ oneline
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_conf_syntax_inits")
-  if version < 508
-    let did_conf_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink confComment	Comment
-  HiLink confTodo	Todo
-  HiLink confString	String
-
-  delcommand HiLink
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link confComment	Comment
+hi def link confTodo	Todo
+hi def link confString	String
 
 let b:current_syntax = "conf"
 
diff --git a/runtime/syntax/ctrlh.vim b/runtime/syntax/ctrlh.vim
index 715c2c0..b4bf347 100644
--- a/runtime/syntax/ctrlh.vim
+++ b/runtime/syntax/ctrlh.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:	CTRL-H (e.g., ASCII manpages)
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Apr 25
+" Last Change:	2005 Jun 20
 
 " Existing syntax is kept, this file can be used as an addition
 
@@ -15,19 +15,9 @@
 syntax match CtrlHHide /.\b/  contained
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_ctrlh_syntax_inits")
-  if version < 508
-    let did_ctrlh_syntax_inits = 1
-    hi link CtrlHHide Ignore
-    hi CtrlHUnderline term=underline cterm=underline gui=underline
-    hi CtrlHBold term=bold cterm=bold gui=bold
-  else
-    hi def link CtrlHHide Ignore
-    hi def CtrlHUnderline term=underline cterm=underline gui=underline
-    hi def CtrlHBold term=bold cterm=bold gui=bold
-  endif
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link CtrlHHide Ignore
+hi def CtrlHUnderline term=underline cterm=underline gui=underline
+hi def CtrlHBold term=bold cterm=bold gui=bold
 
 " vim: ts=8
diff --git a/runtime/syntax/diff.vim b/runtime/syntax/diff.vim
index 2461abe..8ec6880 100644
--- a/runtime/syntax/diff.vim
+++ b/runtime/syntax/diff.vim
@@ -1,13 +1,10 @@
 " Vim syntax file
 " Language:	Diff (context or unified)
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2003 Apr 02
+" Last Change:	2005 Jun 20
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -43,35 +40,23 @@
 syn match diffComment	"^#.*"
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_diff_syntax_inits")
-  if version < 508
-    let did_diff_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink diffOldFile	diffFile
-  HiLink diffNewFile	diffFile
-  HiLink diffFile	Type
-  HiLink diffOnly	Constant
-  HiLink diffIdentical	Constant
-  HiLink diffDiffer	Constant
-  HiLink diffBDiffer	Constant
-  HiLink diffIsA	Constant
-  HiLink diffNoEOL	Constant
-  HiLink diffCommon	Constant
-  HiLink diffRemoved	Special
-  HiLink diffChanged	PreProc
-  HiLink diffAdded	Identifier
-  HiLink diffLine	Statement
-  HiLink diffSubname	PreProc
-  HiLink diffComment	Comment
-
-  delcommand HiLink
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link diffOldFile		diffFile
+hi def link diffNewFile		diffFile
+hi def link diffFile		Type
+hi def link diffOnly		Constant
+hi def link diffIdentical	Constant
+hi def link diffDiffer		Constant
+hi def link diffBDiffer		Constant
+hi def link diffIsA		Constant
+hi def link diffNoEOL		Constant
+hi def link diffCommon		Constant
+hi def link diffRemoved		Special
+hi def link diffChanged		PreProc
+hi def link diffAdded		Identifier
+hi def link diffLine		Statement
+hi def link diffSubname		PreProc
+hi def link diffComment		Comment
 
 let b:current_syntax = "diff"
 
diff --git a/runtime/syntax/help.vim b/runtime/syntax/help.vim
index d363d88..7d50f55 100644
--- a/runtime/syntax/help.vim
+++ b/runtime/syntax/help.vim
@@ -1,13 +1,10 @@
 " Vim syntax file
 " Language:	Vim help file
 " Maintainer:	Bram Moolenaar (Bram@vim.org)
-" Last Change:	2005 Mar 31
+" Last Change:	2005 Jun 20
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -120,67 +117,55 @@
 
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_help_syntax_inits")
-  if version < 508
-    let did_help_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
+" Only used when an item doesn't have highlighting yet
+hi def link helpExampleStart	helpIgnore
+hi def link helpIgnore		Ignore
+hi def link helpHyperTextJump	Subtitle
+hi def link helpHyperTextEntry	String
+hi def link helpHeadline	Statement
+hi def link helpHeader		PreProc
+hi def link helpSectionDelim	PreProc
+hi def link helpVim		Identifier
+hi def link helpExample		Comment
+hi def link helpOption		Type
+hi def link helpNotVi		Special
+hi def link helpSpecial		Special
+hi def link helpNote		Todo
+hi def link Subtitle		Identifier
 
-  HiLink helpExampleStart	helpIgnore
-  HiLink helpIgnore		Ignore
-  HiLink helpHyperTextJump	Subtitle
-  HiLink helpHyperTextEntry	String
-  HiLink helpHeadline		Statement
-  HiLink helpHeader		PreProc
-  HiLink helpSectionDelim	PreProc
-  HiLink helpVim		Identifier
-  HiLink helpExample		Comment
-  HiLink helpOption		Type
-  HiLink helpNotVi		Special
-  HiLink helpSpecial		Special
-  HiLink helpNote		Todo
-  HiLink Subtitle		Identifier
-
-  HiLink helpComment		Comment
-  HiLink helpConstant		Constant
-  HiLink helpString		String
-  HiLink helpCharacter		Character
-  HiLink helpNumber		Number
-  HiLink helpBoolean		Boolean
-  HiLink helpFloat		Float
-  HiLink helpIdentifier		Identifier
-  HiLink helpFunction		Function
-  HiLink helpStatement		Statement
-  HiLink helpConditional	Conditional
-  HiLink helpRepeat		Repeat
-  HiLink helpLabel		Label
-  HiLink helpOperator		Operator
-  HiLink helpKeyword		Keyword
-  HiLink helpException		Exception
-  HiLink helpPreProc		PreProc
-  HiLink helpInclude		Include
-  HiLink helpDefine		Define
-  HiLink helpMacro		Macro
-  HiLink helpPreCondit		PreCondit
-  HiLink helpType		Type
-  HiLink helpStorageClass	StorageClass
-  HiLink helpStructure		Structure
-  HiLink helpTypedef		Typedef
-  HiLink helpSpecialChar	SpecialChar
-  HiLink helpTag		Tag
-  HiLink helpDelimiter		Delimiter
-  HiLink helpSpecialComment	SpecialComment
-  HiLink helpDebug		Debug
-  HiLink helpUnderlined		Underlined
-  HiLink helpError		Error
-  HiLink helpTodo		Todo
-
-  delcommand HiLink
-endif
+hi def link helpComment		Comment
+hi def link helpConstant	Constant
+hi def link helpString		String
+hi def link helpCharacter	Character
+hi def link helpNumber		Number
+hi def link helpBoolean		Boolean
+hi def link helpFloat		Float
+hi def link helpIdentifier	Identifier
+hi def link helpFunction	Function
+hi def link helpStatement	Statement
+hi def link helpConditional	Conditional
+hi def link helpRepeat		Repeat
+hi def link helpLabel		Label
+hi def link helpOperator	Operator
+hi def link helpKeyword		Keyword
+hi def link helpException	Exception
+hi def link helpPreProc		PreProc
+hi def link helpInclude		Include
+hi def link helpDefine		Define
+hi def link helpMacro		Macro
+hi def link helpPreCondit	PreCondit
+hi def link helpType		Type
+hi def link helpStorageClass	StorageClass
+hi def link helpStructure	Structure
+hi def link helpTypedef		Typedef
+hi def link helpSpecialChar	SpecialChar
+hi def link helpTag		Tag
+hi def link helpDelimiter	Delimiter
+hi def link helpSpecialComment	SpecialComment
+hi def link helpDebug		Debug
+hi def link helpUnderlined	Underlined
+hi def link helpError		Error
+hi def link helpTodo		Todo
 
 let b:current_syntax = "help"
 
diff --git a/runtime/syntax/model.vim b/runtime/syntax/model.vim
index 91b6781..5f3b7f8 100644
--- a/runtime/syntax/model.vim
+++ b/runtime/syntax/model.vim
@@ -1,16 +1,13 @@
 " Vim syntax file
 " Language:	Model
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Apr 25
+" Last Change:	2005 Jun 20
 
 " very basic things only (based on the vgrindefs file).
 " If you use this language, please improve it, and send me the patches!
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -36,23 +33,11 @@
 syn match modelString "'."
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_model_syntax_inits")
-  if version < 508
-    let did_model_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink modelKeyword	Statement
-  HiLink modelBlock	PreProc
-  HiLink modelComment	Comment
-  HiLink modelString	String
-
-  delcommand HiLink
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link modelKeyword	Statement
+hi def link modelBlock		PreProc
+hi def link modelComment	Comment
+hi def link modelString		String
 
 let b:current_syntax = "model"
 
diff --git a/runtime/syntax/vgrindefs.vim b/runtime/syntax/vgrindefs.vim
index a4b81b7..3de31b1 100644
--- a/runtime/syntax/vgrindefs.vim
+++ b/runtime/syntax/vgrindefs.vim
@@ -1,15 +1,12 @@
 " Vim syntax file
 " Language:	Vgrindefs
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Apr 25
+" Last Change:	2005 Jun 20
 
 " The Vgrindefs file is used to specify a language for vgrind
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -39,22 +36,9 @@
 syn match vgrindefsField "\\$"
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_vgrindefs_syntax_inits")
-  if version < 508
-    let did_vgrindefs_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  " The default methods for highlighting.  Can be overridden later
-  HiLink vgrindefsField		Statement
-  HiLink vgrindefsComment	Comment
-
-  delcommand HiLink
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link vgrindefsField	Statement
+hi def link vgrindefsComment	Comment
 
 let b:current_syntax = "vgrindefs"
 
diff --git a/runtime/syntax/viminfo.vim b/runtime/syntax/viminfo.vim
index 46d5b89..d174edf 100644
--- a/runtime/syntax/viminfo.vim
+++ b/runtime/syntax/viminfo.vim
@@ -1,13 +1,10 @@
 " Vim syntax file
 " Language:	Vim .viminfo file
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2001 Apr 25
+" Last Change:	2005 Jun 20
 
-" 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")
+" Quit when a (custom) syntax file was already loaded
+if exists("b:current_syntax")
   finish
 endif
 
@@ -31,22 +28,10 @@
 syn match viminfoComment "^#.*"
 
 " Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_viminfo_syntax_inits")
-  if version < 508
-    let did_viminfo_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink viminfoComment		Comment
-  HiLink viminfoError		Error
-  HiLink viminfoStatement	Statement
-
-  delcommand HiLink
-endif
+" Only used when an item doesn't have highlighting yet
+hi def link viminfoComment	Comment
+hi def link viminfoError	Error
+hi def link viminfoStatement	Statement
 
 let b:current_syntax = "viminfo"