diff --git a/runtime/syntax/fetchmail.vim b/runtime/syntax/fetchmail.vim
index c586ee7..198a314 100644
--- a/runtime/syntax/fetchmail.vim
+++ b/runtime/syntax/fetchmail.vim
@@ -1,88 +1,74 @@
 " Vim syntax file
-" Language:	    fetchmail(1) RC File
-" Maintainer:	    Nikolai Weibull <source@pcppopper.org>
-" URL:		    http://www.pcppopper.org/vim/syntax/pcp/fetchmail/
-" Latest Revision:  2004-05-06
-" arch-tag:	    59d8adac-6e59-45f6-88cb-f9ba1e009c1f
+" Language:         fetchmail(1) RC File
+" Maintainer:       Nikolai Weibull <nikolai+work.vim@bitwi.se>
+" Latest Revision:  2005-06-27
 
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
+if exists("b:current_syntax")
   finish
 endif
 
-" todo
-syn keyword fetchmailTodo	contained FIXME TODO XXX NOTE
+let s:cpo_save = &cpo
+set cpo&vim
 
-" comments
-syn region  fetchmailComment	start="#" end="$" contains=fetchmailTodo
+syn keyword fetchmailTodo       contained FIXME TODO XXX NOTE
 
-" numbers
-syn match   fetchmailNumber	"\<\d\+\>"
+syn region  fetchmailComment    start='#' end='$' contains=fetchmailTodo,@Spell
 
-" strings
-syn region  fetchmailString	start=+"+ skip=+\\\\\|\\"+ end=+"+ contains=fetchmailStringEsc
-syn region  fetchmailString	start=+'+ skip=+\\\\\|\\'+ end=+'+ contains=fetchmailStringEsc
+syn match   fetchmailNumber     display '\<\d\+\>'
 
-" escape characters in strings
-syn match   fetchmailStringEsc	"\\\([ntb]\|0\d*\|x\x\+\)"
+syn region  fetchmailString     start=+"+ skip=+\\\\\|\\"+ end=+"+
+                                \ contains=fetchmailStringEsc
+syn region  fetchmailString     start=+'+ skip=+\\\\\|\\'+ end=+'+
+                                \ contains=fetchmailStringEsc
 
-" server entries
-syn region  fetchmailKeyword	transparent matchgroup=fetchmailKeyword start="\<poll\|skip\|defaults\>" end="\<poll\|skip\|defaults\>" contains=ALLBUT,fetchmailOptions,fetchmailSet
+syn match   fetchmailStringEsc  contained '\\\([ntb]\|0\d*\|x\x\+\)'
 
-" server options
-syn keyword fetchmailServerOpts	contained via proto[col] local[domains] port auth[enticate]
-syn keyword fetchmailServerOpts	contained timeout envelope qvirtual aka interface monitor
-syn keyword fetchmailServerOpts	contained plugin plugout dns checkalias uidl interval netsec
-syn keyword fetchmailServerOpts	contained principal esmtpname esmtppassword
-syn match   fetchmailServerOpts	contained "\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)"
+syn region  fetchmailKeyword    transparent matchgroup=fetchmailKeyword
+                                \ start='\<poll\|skip\|defaults\>'
+                                \ end='\<poll\|skip\|defaults\>'
+                                \ contains=ALLBUT,fetchmailOptions,fetchmailSet
 
-" user options
-syn keyword fetchmailUserOpts	contained user[name] is to pass[word] ssl sslcert sslkey sslproto folder
-syn keyword fetchmailUserOpts	contained smtphost fetchdomains smtpaddress smtpname antispam mda bsmtp
-syn keyword fetchmailUserOpts	contained preconnect postconnect keep flush fetchall rewrite stripcr
-syn keyword fetchmailUserOpts	contained forcecr pass8bits dropstatus dropdelivered mimedecode idle
-syn keyword fetchmailUserOpts	contained limit warnings batchlimit fetchlimit expunge tracepolls properties
-syn match   fetchmailUserOpts	contained "\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)"
+syn keyword fetchmailServerOpts contained via proto[col] local[domains] port
+                                \ auth[enticate] timeout envelope qvirtual aka
+                                \ interface monitor plugin plugout dns
+                                \ checkalias uidl interval netsec principal
+                                \ esmtpname esmtppassword
+syn match   fetchmailServerOpts contained '\<no\_s\+\(envelope\|dns\|checkalias\|uidl\)'
 
-syn keyword fetchmailSpecial	contained here there
+syn keyword fetchmailUserOpts   contained user[name] is to pass[word] ssl
+                                \ sslcert sslkey sslproto folder smtphost
+                                \ fetchdomains smtpaddress smtpname antispam
+                                \ mda bsmtp preconnect postconnect keep flush
+                                \ fetchall rewrite stripcr forcecr pass8bits
+                                \ dropstatus dropdelivered mimedecode idle
+                                \ limit warnings batchlimit fetchlimit expunge
+                                \ tracepolls properties
+syn match   fetchmailUserOpts   contained '\<no\_s\+\(keep\|flush\|fetchall\|rewrite\|stripcr\|forcecr\|pass8bits\|dropstatus\|dropdelivered\|mimedecode\|noidle\)'
 
+syn keyword fetchmailSpecial    contained here there
 
-" noise keywords
-syn keyword fetchmailNoise	and with has wants options
-syn match   fetchmailNoise	"[:;,]"
+syn keyword fetchmailNoise      and with has wants options
+syn match   fetchmailNoise      display '[:;,]'
 
-" options
-syn keyword fetchmailSet	nextgroup=fetchmailOptions skipwhite skipnl set
+syn keyword fetchmailSet        nextgroup=fetchmailOptions skipwhite skipnl set
 
-syn keyword fetchmailOptions	daemon postmaster bouncemail spambounce logfile idfile syslog nosyslog properties
-syn match   fetchmailOptions	"\<no\_s\+\(bouncemail\|spambounce\)"
+syn keyword fetchmailOptions    daemon postmaster bouncemail spambounce logfile
+                                \ idfile syslog nosyslog properties
+syn match   fetchmailOptions    '\<no\_s\+\(bouncemail\|spambounce\)'
 
-" 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_fetchmail_syn_inits")
-  if version < 508
-    let did_fetchmail_syn_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink fetchmailComment	Comment
-  HiLink fetchmailTodo	Todo
-  HiLink fetchmailNumber	Number
-  HiLink fetchmailString	String
-  HiLink fetchmailStringEsc	SpecialChar
-  HiLink fetchmailKeyword	Keyword
-  HiLink fetchmailServerOpts	Identifier
-  HiLink fetchmailUserOpts	Identifier
-  HiLink fetchmailSpecial	Special
-  HiLink fetchmailSet		Keyword
-  HiLink fetchmailOptions	Identifier
-  delcommand HiLink
-endif
+hi def link fetchmailComment    Comment
+hi def link fetchmailTodo       Todo
+hi def link fetchmailNumber     Number
+hi def link fetchmailString     String
+hi def link fetchmailStringEsc  SpecialChar
+hi def link fetchmailKeyword    Keyword
+hi def link fetchmailServerOpts Identifier
+hi def link fetchmailUserOpts   Identifier
+hi def link fetchmailSpecial    Special
+hi def link fetchmailSet        Keyword
+hi def link fetchmailOptions    Identifier
 
 let b:current_syntax = "fetchmail"
 
-" vim: set sts=2 sw=2:
+let &cpo = s:cpo_save
+unlet s:cpo_save
