updated for version 7.0d04
diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim
index a76dfcc..85f9a02 100644
--- a/runtime/syntax/html.vim
+++ b/runtime/syntax/html.vim
@@ -2,7 +2,7 @@
 " Language:	HTML
 " Maintainer:	Claudio Fleiner <claudio@fleiner.com>
 " URL:		http://www.fleiner.com/vim/syntax/html.vim
-" Last Change:  2005 Jul 20
+" Last Change:  2006 April 13
 
 " Please check :help html.vim for some comments and a description of the options
 
@@ -27,10 +27,6 @@
 
 syn case ignore
 
-if main_syntax == "html"
-  syn spell toplevel
-endif
-
 " mark illegal characters
 syn match htmlError "[<>&]"
 
@@ -39,8 +35,8 @@
 syn region  htmlString   contained start=+"+ end=+"+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
 syn region  htmlString   contained start=+'+ end=+'+ contains=htmlSpecialChar,javaScriptExpression,@htmlPreproc
 syn match   htmlValue    contained "=[\t ]*[^'" \t>][^ \t>]*"hs=s+1   contains=javaScriptExpression,@htmlPreproc
-syn region  htmlEndTag		   start=+</+	   end=+>+ contains=htmlTagN,htmlTagError
-syn region  htmlTag		   start=+<[^/]+   end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
+syn region  htmlEndTag             start=+</+      end=+>+ contains=htmlTagN,htmlTagError
+syn region  htmlTag                start=+<[^/]+   end=+>+ contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent,htmlCssDefinition,@htmlPreproc,@htmlArgCluster
 syn match   htmlTagN     contained +<\s*[-a-zA-Z0-9]\++hs=s+1 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
 syn match   htmlTagN     contained +</\s*[-a-zA-Z0-9]\++hs=s+2 contains=htmlTagName,htmlSpecialTagName,@htmlTagNameCluster
 syn match   htmlTagError contained "[^>]<"ms=s+1
@@ -101,13 +97,13 @@
 
 " Comments (the real ones or the old netscape ones)
 if exists("html_wrong_comments")
-  syn region htmlComment		start=+<!--+	end=+--\s*>+
+  syn region htmlComment                start=+<!--+    end=+--\s*>+
 else
-  syn region htmlComment		start=+<!+	end=+>+   contains=htmlCommentPart,htmlCommentError
+  syn region htmlComment                start=+<!+      end=+>+   contains=htmlCommentPart,htmlCommentError
   syn match  htmlCommentError contained "[^><!]"
   syn region htmlCommentPart  contained start=+--+      end=+--\s*+  contains=@htmlPreProc
 endif
-syn region htmlComment			start=+<!DOCTYPE+ keepend end=+>+
+syn region htmlComment                  start=+<!DOCTYPE+ keepend end=+>+
 
 " server-parsed commands
 syn region htmlPreProc start=+<!--#+ end=+-->+ contains=htmlPreStmt,htmlPreError,htmlPreAttr
@@ -158,14 +154,14 @@
   syn region htmlH5 start="<h5\>" end="</h5>"me=e-5 contains=@htmlTop
   syn region htmlH6 start="<h6\>" end="</h6>"me=e-5 contains=@htmlTop
   syn region htmlHead start="<head\>" end="</head>"me=e-7 end="<body\>"me=e-5 end="<h[1-6]\>"me=e-3 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,htmlLink,htmlTitle,javaScript,cssStyle,@htmlPreproc
-  syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=@Spell,htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
+  syn region htmlTitle start="<title\>" end="</title>"me=e-8 contains=htmlTag,htmlEndTag,htmlSpecialChar,htmlPreProc,htmlComment,javaScript,@htmlPreproc
 endif
 
-syn keyword htmlTagName		contained noscript
+syn keyword htmlTagName         contained noscript
 syn keyword htmlSpecialTagName  contained script style
 if main_syntax != 'java' || exists("java_javascript")
   " JAVA SCRIPT
-  syn include @htmlJavaScript <sfile>:p:h/javascript.vim
+  syn include @htmlJavaScript syntax/javascript.vim
   unlet b:current_syntax
   syn region  javaScript start=+<script[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlJavaScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
   syn region  htmlScriptTag     contained start=+<script+ end=+>+       contains=htmlTagN,htmlString,htmlArg,htmlValue,htmlTagError,htmlEvent
@@ -173,14 +169,14 @@
 
   " html events (i.e. arguments that include javascript commands)
   if exists("html_extended_events")
-    syn region htmlEvent	contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
-    syn region htmlEvent	contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
+    syn region htmlEvent        contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ contains=htmlEventSQ
+    syn region htmlEvent        contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ contains=htmlEventDQ
   else
-    syn region htmlEvent	contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
-    syn region htmlEvent	contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
+    syn region htmlEvent        contained start=+\<on\a\+\s*=[\t ]*'+ end=+'+ keepend contains=htmlEventSQ
+    syn region htmlEvent        contained start=+\<on\a\+\s*=[\t ]*"+ end=+"+ keepend contains=htmlEventDQ
   endif
-  syn region htmlEventSQ	contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
-  syn region htmlEventDQ	contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
+  syn region htmlEventSQ        contained start=+'+ms=s+1 end=+'+me=s-1 contains=@htmlJavaScript
+  syn region htmlEventDQ        contained start=+"+ms=s+1 end=+"+me=s-1 contains=@htmlJavaScript
   HtmlHiLink htmlEventSQ htmlEvent
   HtmlHiLink htmlEventDQ htmlEvent
 
@@ -190,7 +186,7 @@
 
 if main_syntax != 'java' || exists("java_vb")
   " VB SCRIPT
-  syn include @htmlVbScript <sfile>:p:h/vb.vim
+  syn include @htmlVbScript syntax/vb.vim
   unlet b:current_syntax
   syn region  javaScript start=+<script [^>]*language *=[^>]*vbscript[^>]*>+ keepend end=+</script>+me=s-1 contains=@htmlVbScript,htmlCssStyleComment,htmlScriptTag,@htmlPreproc
 endif
@@ -199,8 +195,8 @@
 
 if main_syntax != 'java' || exists("java_css")
   " embedded style sheets
-  syn keyword htmlArg		contained media
-  syn include @htmlCss <sfile>:p:h/css.vim
+  syn keyword htmlArg           contained media
+  syn include @htmlCss syntax/css.vim
   unlet b:current_syntax
   syn region cssStyle start=+<style+ keepend end=+</style>+ contains=@htmlCss,htmlTag,htmlEndTag,htmlCssStyleComment,@htmlPreproc
   syn match htmlCssStyleComment contained "\(<!--\|-->\)"
@@ -223,65 +219,65 @@
   if version < 508
     let did_html_syn_inits = 1
   endif
-  HtmlHiLink htmlTag			Function
-  HtmlHiLink htmlEndTag			Identifier
-  HtmlHiLink htmlArg			Type
-  HtmlHiLink htmlTagName		htmlStatement
-  HtmlHiLink htmlSpecialTagName		Exception
-  HtmlHiLink htmlValue			String
-  HtmlHiLink htmlSpecialChar		Special
-
+  HtmlHiLink htmlTag                     Function
+  HtmlHiLink htmlEndTag                  Identifier
+  HtmlHiLink htmlArg                     Type
+  HtmlHiLink htmlTagName                 htmlStatement
+  HtmlHiLink htmlSpecialTagName          Exception
+  HtmlHiLink htmlValue                     String
+  HtmlHiLink htmlSpecialChar             Special
+  
   if !exists("html_no_rendering")
-    HtmlHiLink htmlH1			   Title
-    HtmlHiLink htmlH2			   htmlH1
-    HtmlHiLink htmlH3			   htmlH2
-    HtmlHiLink htmlH4			   htmlH3
-    HtmlHiLink htmlH5			   htmlH4
-    HtmlHiLink htmlH6			   htmlH5
-    HtmlHiLink htmlHead			   PreProc
-    HtmlHiLink htmlTitle		   Title
-    HtmlHiLink htmlBoldItalicUnderline	   htmlBoldUnderlineItalic
-    HtmlHiLink htmlUnderlineBold	   htmlBoldUnderline
-    HtmlHiLink htmlUnderlineItalicBold	   htmlBoldUnderlineItalic
-    HtmlHiLink htmlUnderlineBoldItalic	   htmlBoldUnderlineItalic
-    HtmlHiLink htmlItalicUnderline	   htmlUnderlineItalic
-    HtmlHiLink htmlItalicBold		   htmlBoldItalic
-    HtmlHiLink htmlItalicBoldUnderline	   htmlBoldUnderlineItalic
-    HtmlHiLink htmlItalicUnderlineBold	   htmlBoldUnderlineItalic
-    HtmlHiLink htmlLink			   Underlined
+    HtmlHiLink htmlH1                      Title
+    HtmlHiLink htmlH2                      htmlH1
+    HtmlHiLink htmlH3                      htmlH2
+    HtmlHiLink htmlH4                      htmlH3
+    HtmlHiLink htmlH5                      htmlH4
+    HtmlHiLink htmlH6                      htmlH5
+    HtmlHiLink htmlHead                    PreProc
+    HtmlHiLink htmlTitle                   Title
+    HtmlHiLink htmlBoldItalicUnderline     htmlBoldUnderlineItalic
+    HtmlHiLink htmlUnderlineBold           htmlBoldUnderline
+    HtmlHiLink htmlUnderlineItalicBold     htmlBoldUnderlineItalic
+    HtmlHiLink htmlUnderlineBoldItalic     htmlBoldUnderlineItalic
+    HtmlHiLink htmlItalicUnderline         htmlUnderlineItalic
+    HtmlHiLink htmlItalicBold              htmlBoldItalic
+    HtmlHiLink htmlItalicBoldUnderline     htmlBoldUnderlineItalic
+    HtmlHiLink htmlItalicUnderlineBold     htmlBoldUnderlineItalic
+    HtmlHiLink htmlLink                    Underlined
     if !exists("html_my_rendering")
-      hi def htmlBold		     term=bold cterm=bold gui=bold
-      hi def htmlBoldUnderline	     term=bold,underline cterm=bold,underline gui=bold,underline
-      hi def htmlBoldItalic	     term=bold,italic cterm=bold,italic gui=bold,italic
+      hi def htmlBold                term=bold cterm=bold gui=bold
+      hi def htmlBoldUnderline       term=bold,underline cterm=bold,underline gui=bold,underline
+      hi def htmlBoldItalic          term=bold,italic cterm=bold,italic gui=bold,italic
       hi def htmlBoldUnderlineItalic term=bold,italic,underline cterm=bold,italic,underline gui=bold,italic,underline
-      hi def htmlUnderline	     term=underline cterm=underline gui=underline
+      hi def htmlUnderline           term=underline cterm=underline gui=underline
       hi def htmlUnderlineItalic     term=italic,underline cterm=italic,underline gui=italic,underline
-      hi def htmlItalic		     term=italic cterm=italic gui=italic
+      hi def htmlItalic              term=italic cterm=italic gui=italic
     endif
   endif
-
-  HtmlHiLink htmlPreStmt	    PreProc
-  HtmlHiLink htmlPreError	    Error
-  HtmlHiLink htmlPreProc	    PreProc
-  HtmlHiLink htmlPreAttr	    String
+  
+  HtmlHiLink htmlPreStmt            PreProc
+  HtmlHiLink htmlPreError           Error
+  HtmlHiLink htmlPreProc            PreProc
+  HtmlHiLink htmlPreAttr            String
   HtmlHiLink htmlPreProcAttrName    PreProc
   HtmlHiLink htmlPreProcAttrError   Error
-  HtmlHiLink htmlSpecial	    Special
-  HtmlHiLink htmlSpecialChar	    Special
-  HtmlHiLink htmlString		    String
-  HtmlHiLink htmlStatement	    Statement
-  HtmlHiLink htmlComment	    Comment
-  HtmlHiLink htmlCommentPart	    Comment
-  HtmlHiLink htmlValue		    String
-  HtmlHiLink htmlCommentError	    htmlError
-  HtmlHiLink htmlTagError	    htmlError
-  HtmlHiLink htmlEvent		    javaScript
-  HtmlHiLink htmlError		    Error
-
-  HtmlHiLink javaScript		    Special
+  HtmlHiLink htmlSpecial            Special
+  HtmlHiLink htmlSpecialChar        Special
+  HtmlHiLink htmlString             String
+  HtmlHiLink htmlStatement          Statement
+  HtmlHiLink htmlComment            Comment
+  HtmlHiLink htmlCommentPart        Comment
+  HtmlHiLink htmlValue              String
+  HtmlHiLink htmlCommentError       htmlError
+  HtmlHiLink htmlTagError           htmlError
+  HtmlHiLink htmlEvent              javaScript
+  HtmlHiLink htmlError              Error
+  
+  HtmlHiLink javaScript             Special
   HtmlHiLink javaScriptExpression   javaScript
   HtmlHiLink htmlCssStyleComment    Comment
-  HtmlHiLink htmlCssDefinition	    Special
+  HtmlHiLink htmlCssDefinition      Special
 endif
 
 delcommand HtmlHiLink
diff --git a/runtime/syntax/idl.vim b/runtime/syntax/idl.vim
index 855dc21..39041fc 100644
--- a/runtime/syntax/idl.vim
+++ b/runtime/syntax/idl.vim
@@ -1,8 +1,9 @@
 " Vim syntax file
 " Language:    IDL (Interface Description Language)
-" Created By:  Jody Goldberg <jody@gnome.org>
-" Maintainer:  Michael Geddes <michaelrgeddes@optushome.com.au>
-" Last Change:  2004 Jul 20
+" Created By:  Jody Goldberg
+" Maintainer:  Michael Geddes <vim@frog.wheelycreek.net>
+" Last Change:  Thu Apr 13 2006
+
 
 " This is an experiment.  IDL's structure is simple enough to permit a full
 " grammar based approach to rather than using a few heuristics.  The result
@@ -13,6 +14,10 @@
 "
 " The more complex of the extensions are disabled by defining idl_no_extensions.
 "
+" History:
+" 2.0: Michael's new version
+" 2.1: Support for Vim 7 spell (Anduin Withers)
+"      
 
 if exists("b:current_syntax")
   finish
@@ -32,7 +37,7 @@
 syn match   idlCommaArg    contained ","                      skipempty skipwhite nextgroup=idlSimpDecl
 syn region  idlArraySize1  contained start=:\[: end=:\]:      skipempty skipwhite nextgroup=idlArraySize1,idlError,idlSemiColon,idlCommaArg contains=idlArraySize1,idlLiteral
 syn match   idlSimpDecl    contained "[a-zA-Z][a-zA-Z0-9_]*"  skipempty skipwhite nextgroup=idlError,idlSemiColon,idlCommaArg,idlArraySize1
-syn region  idlString      contained start=+"+  skip=+\\\(\\\\\)*"+  end=+"+
+syn region  idlString      contained start=+"+  skip=+\\\(\\\\\)*"+  end=+"+ contains=@Spell
 syn match   idlLiteral     contained "[1-9]\d*\(\.\d*\)\="
 syn match   idlLiteral     contained "0"
 syn match   idlLiteral     contained "\.\d\+"
@@ -42,8 +47,8 @@
 
 " Comments
 syn keyword idlTodo        contained TODO FIXME XXX
-syn region idlComment      start="/\*"  end="\*/" contains=idlTodo
-syn match  idlComment      "//.*" contains=idlTodo
+syn region idlComment      start="/\*"  end="\*/" contains=idlTodo,@Spell
+syn match  idlComment      "//.*" contains=idlTodo,@Spell
 syn match  idlCommentError "\*/"
 
 " C style Preprocessor
diff --git a/runtime/syntax/javascript.vim b/runtime/syntax/javascript.vim
index 9e959e1..a1b9e15 100644
--- a/runtime/syntax/javascript.vim
+++ b/runtime/syntax/javascript.vim
@@ -7,7 +7,7 @@
 "		(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)
+" Last Change:	2006 Jan 15
 
 " For version 5.x: Clear all syntax items
 " For version 6.x: Quit when a syntax file was already loaded
@@ -41,7 +41,7 @@
 
 syn match   javaScriptSpecialCharacter "'\\.'"
 syn match   javaScriptNumber	       "-\=\<\d\+L\=\>\|0[xX][0-9a-fA-F]\+\>"
-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 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
diff --git a/runtime/syntax/mma.vim b/runtime/syntax/mma.vim
index 37988ed..12aac9c 100644
--- a/runtime/syntax/mma.vim
+++ b/runtime/syntax/mma.vim
@@ -1,11 +1,12 @@
 " Vim syntax file
 " Language:     Mathematica
 " Maintainer:   steve layland <layland@wolfram.com>
-" Last Change:  Tue May 10 18:31:00 CDT 2005
-" Source:       http://vim.sourceforge.net/scripts/script.php?script_id=1273
-"               http://members.wri.com/layland/vim/syntax/mma.vim
-"
+" Last Change:  Thu May 19 21:36:04 CDT 2005
+" Source:       http://members.wri.com/layland/vim/syntax/mma.vim
+"               http://vim.sourceforge.net/scripts/script.php?script_id=1273
+" Id:           $Id$
 " NOTE:
+" 
 " Empty .m files will automatically be presumed as Matlab files
 " unless you have the following in your .vimrc:
 "
@@ -23,6 +24,12 @@
 "    from the Java vim syntax file by Claudio Fleiner.  Thanks!
 " o  Everything else written by steve <layland@wolfram.com>
 "
+" Bugs: 
+" o  Vim 6.1 didn't really have support for character classes 
+"    of other named character classes.  For example, [\a\d]
+"    didn't work.  Therefore, a lot of this code uses explicit
+"    character classes instead: [0-9a-zA-Z] 
+"
 " TODO:
 "   folding
 "   fix nesting
@@ -78,19 +85,20 @@
 " Comment Sections:
 "   this:
 "   :that:
-syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\a\)[a-zA-Z0-9 ]\+:" contained contains=@mmaNotes
+syntax match mmaItem "\%(^[( |*\t]*\)\@<=\%(:\+\|\w\)\w\+\%( \w\+\)\{0,3}:" contained contains=@mmaNotes
 
 " Comment Keywords:
 syntax keyword mmaTodo TODO NOTE HEY contained
 syntax match mmaTodo "X\{3,}" contained
 syntax keyword mmaFixme FIX[ME] FIXTHIS BROKEN contained
+syntax match mmaFixme "BUG\%( *\#\=[0-9]\+\)\=" contained
 " yay pirates...
 syntax match mmaFixme "\%(Y\=A\+R\+G\+\|GRR\+\|CR\+A\+P\+\)\%(!\+\)\=" contained
 
 " EmPHAsis:
 " this unnecessary, but whatever :)
-syntax match mmaemPHAsis "\%(^\|\s\)\([_/]\)[a-zA-Z0-9]\+\%(\s\+[a-zA-Z0-9]\+\)*\1\%(\s\|$\)" contained contains=mmaemPHAsis
-syntax match mmaemPHAsis "\%(^\|\s\)(\@<!\*[a-zA-Z0-9]\+\%(\s\+[a-zA-Z0-9]\+\)*)\@!\*\%(\s\|$\)" contained contains=mmaemPHAsis
+syntax match mmaemPHAsis "\%(^\|\s\)\([_/]\)[a-zA-Z0-9]\+\%([- \t':]\+[a-zA-Z0-9]\+\)*\1\%(\s\|$\)" contained contains=mmaemPHAsis
+syntax match mmaemPHAsis "\%(^\|\s\)(\@<!\*[a-zA-Z0-9]\+\%([- \t':]\+[a-zA-Z0-9]\+\)*)\@!\*\%(\s\|$\)" contained contains=mmaemPHAsis
 
 " Regular Comments:
 "   (* *)
@@ -112,9 +120,11 @@
 
 " Variables:
 "   Dollar sign variables
-syntax match mmaVariable "$\a\+\d*"
-"   Preceding contexts
-syntax match mmaVariable "`\=\a\+\d*`"
+syntax match mmaVariable "\$\a\+[0-9a-zA-Z$]*"
+
+"   Preceding and Following Contexts
+syntax match mmaVariable "`[a-zA-Z$]\+[0-9a-zA-Z$]*" contains=mmaVariable
+syntax match mmaVariable "[a-zA-Z$]\+[0-9a-zA-Z$]*`" contains=mmaVariable
 
 " Strings:
 "   "string"
@@ -179,9 +189,11 @@
 syntax match mmaOperator "\%(\~\~\=\)"
 syntax match mmaOperator "\%(=\{2,3}\|=\=!=\|||\=\|&&\|!\)" contains=ALLBUT,mmaPureFunction
 
-" Function Usage Messages:
+" Symbol Tags:
 "   "SymbolName::item"
-syntax match mmaMessage "$\=\a\+\d*::\a\+\d*"
+"syntax match mmaSymbol "`\=[a-zA-Z$]\+[0-9a-zA-Z$]*\%(`\%([a-zA-Z$]\+[0-9a-zA-Z$]*\)\=\)*" contained
+syntax match mmaMessage "`\=\([a-zA-Z$]\+[0-9a-zA-Z$]*\)\%(`\%([a-zA-Z$]\+[0-9a-zA-Z$]*\)\=\)*::\a\+" contains=mmaMessageType
+syntax match mmaMessageType "::\a\+"hs=s+2 contained
 
 " Pure Functions:
 syntax match mmaPureFunction "#\%(#\|\d\+\)\="
@@ -208,7 +220,7 @@
 
 " Syntax Errors:
 syntax match mmaError "\*)" containedin=ALLBUT,@mmaComments,@mmaStrings
-syntax match mmaError "\%([&:|+*/?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" containedin=ALLBUT,@mmaComments,@mmaStrings
+syntax match mmaError "\%([/]{3,}\|[&:|+*?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" containedin=ALLBUT,@mmaComments,@mmaStrings
 
 " Punctuation:
 " things that shouldn't really be highlighted, or highlighted 
@@ -217,13 +229,56 @@
 " TODO - use Delimiter group?
 syntax match mmaBoring "[(){}]" contained
 
+" ------------------------------------
+"    future explorations...
+" ------------------------------------
 " Function Arguments:
 "   anything between brackets []
-"   TODO - make good folds for this.
-"syntax region mmaArgument start="\[" end="]" containedin=ALLBUT,@mmaComments,@mmaCommentStrings transparent fold
-"syntax sync fromstart
+"   (fold)
+"syntax region mmaArgument start="\[" end="\]" containedin=ALLBUT,@mmaComments,@mmaStrings transparent fold
+
+" Lists:
+"   (fold)
+"syntax region mmaLists start="{" end="}" containedin=ALLBUT,@mmaComments,@mmaStrings transparent fold
+
+" Regions:
+"   (fold)
+"syntax region mmaRegion start="(\*\+[^<]*<!--[^>]*\*\+)" end="--> \*)" containedin=ALLBUT,@mmaStrings transparent fold keepend
+
+" show fold text
+set commentstring='(*%s*)'
+"set foldtext=MmaFoldText()
+
+"function MmaFoldText()
+"    let line = getline(v:foldstart)
+"    
+"    let lines = v:foldend-v:foldstart+1
+"    
+"    let sub = substitute(line, '(\*\+|\*\+)|[-*_]\+', '', 'g')
+"
+"    if match(line, '(\*') != -1
+"        let lines = lines.' line comment'
+"    else
+"        let lines = lines.' lines'
+"    endif
+"
+"    return v:folddashes.' '.lines.' '.sub
+"endf
+    
+"this is slow for computing folds, but it does so accurately
+syntax sync fromstart
+
+" but this seems to do alright for non fold syntax coloring.
+" for folding, however, it doesn't get the nesting right.
+" TODO - find sync group for multiline modules? ick...
+
+" sync multi line comments
+"syntax sync match syncComments groupthere NONE "\*)"
+"syntax sync match syncComments groupthere mmaComment "(\*"
+
 "set foldmethod=syntax
-"set foldminlines=10
+"set foldnestmax=1
+"set foldminlines=15
 
 if version >= 508 || !exists("did_mma_syn_inits")
 	if version < 508
@@ -238,12 +293,14 @@
     " :so $VIMRUNTIME/syntax/hitest.vim and tweak these to
     " look good in yours
 
+
     HiLink mmaComment           Comment
     HiLink mmaCommentStar       Comment
     HiLink mmaFunctionComment   Comment
     HiLink mmaLooseQuote        Comment
 	HiLink mmaGenericFunction   Function
 	HiLink mmaVariable          Identifier
+"    HiLink mmaSymbol            Identifier
 	HiLink mmaOperator          Operator
     HiLink mmaPatternOp         Operator
 	HiLink mmaPureFunction      Operator
@@ -259,6 +316,7 @@
     HiLink mmaTodo              Todo
     HiLink mmaemPHAsis          Special
     HiLink mmaFunctionTitle     Special
+    HiLink mmaMessageType       Special
     HiLink mmaItem              Preproc
 
 	delcommand HiLink
diff --git a/runtime/syntax/netrwlist.vim b/runtime/syntax/netrw.vim
similarity index 100%
rename from runtime/syntax/netrwlist.vim
rename to runtime/syntax/netrw.vim
diff --git a/runtime/syntax/nroff.vim b/runtime/syntax/nroff.vim
index 2f004d6..6f2a131 100644
--- a/runtime/syntax/nroff.vim
+++ b/runtime/syntax/nroff.vim
@@ -2,7 +2,7 @@
 " Language:	nroff/groff
 " Maintainer:	Alejandro López-Valencia <dradul@yahoo.com>
 " URL:		http://dradul.tripod.com/vim
-" Last Change:	2003 May 24
+" Last Change:	2006 Apr 14
 "
 " {{{1 Acknowledgements
 "
@@ -125,12 +125,12 @@
 "
 " GNU troff allows long request names
 "
-syn match nroffReqName /[^\t \\\[?]\+/ contained nextgroup=nroffReqArg
+	syn match nroffReqName /[^\t \\\[?]\+/ contained nextgroup=nroffReqArg
 else
 	syn match nroffReqName /[^\t \\\[?]\{1,2}/ contained nextgroup=nroffReqArg
 endif
 
-syn region roffReqArg start=/\S/ skip=/\\$/ end=/$/ contained contains=nroffEscape,@nroffSpecial,nroffString,nroffError,nroffSpaceError,nroffNumBlock,nroffComment
+syn region nroffReqArg start=/\S/ skip=/\\$/ end=/$/ contained contains=nroffEscape,@nroffSpecial,nroffString,nroffError,nroffSpaceError,nroffNumBlock,nroffComment
 
 " {{{2 Conditional: .if .ie .el
 syn match nroffReqName /\(if\|ie\)/ contained nextgroup=nroffCond skipwhite