updated for version 7.0e03
diff --git a/runtime/syntax/2html.vim b/runtime/syntax/2html.vim
index b852f48..8c5b4cf 100644
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 18
+" Last Change: 2006 Apr 19
 "	       (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "	       (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 
@@ -112,9 +112,10 @@
   " Replace the reserved html characters
   let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
   
-  " Replace double spaces
+  " Replace double spaces and leading spaces
   if ' ' != s:HtmlSpace 
     let formatted = substitute(formatted, '  ', s:HtmlSpace . s:HtmlSpace, 'g')
+    let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')
   endif
 
   " Enclose in a span of class style_name
@@ -363,7 +364,7 @@
     let s:len = strlen(s:line)
 
     if s:numblines
-      let s:new = '<span class="lnr">' . s:new . '</span>'
+      let s:new = s:HtmlFormat(s:new, "lnr")
     endif
 
     " Get the diff attribute, if any.
@@ -419,7 +420,7 @@
   if exists("use_xhtml")
     exe "normal! a</p>\n</body>\n</html>\e"
   else
-    exe "normal! a\n</body>\n</html>\e"
+    exe "normal! a</body>\n</html>\e"
   endif
 else
   if exists("use_xhtml")
@@ -470,7 +471,7 @@
   if exists("html_use_css")
     execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e"
   else
-    execute '%s+<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
+    execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
   endif
 endif
 
diff --git a/runtime/syntax/coretex.vim b/runtime/syntax/coretex.vim
deleted file mode 100644
index adb77bb..0000000
--- a/runtime/syntax/coretex.vim
+++ /dev/null
@@ -1,377 +0,0 @@
-" Vim syntax file
-" Language:         TeX (core definition)
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-03-26
-
-if exists("b:current_syntax")
-  finish
-endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-" This follows the grouping (sort of) found at
-" http://www.tug.org/utilities/plain/cseq.html#top-fam
-
-syn keyword coretexTodo                         TODO FIXME XXX NOTE
-
-syn match coretexComment                        display contains=coretexTodo
-      \ '\\\@<!\%(\\\\\)*\zs%.*$'
-
-syn match   coretexDimension                    display contains=@NoSpell
-      \ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
-
-syn cluster coretexBox
-      \ contains=coretexBoxCommand,coretexBoxInternalQuantity,
-      \ coretexBoxParameterDimen,coretexBoxParameterInteger,
-      \ coretexBoxParameterToken
-
-syn cluster coretexCharacter
-      \ contains=coretexCharacterCommand,coretexCharacterInternalQuantity,
-      \ coretexCharacterParameterInteger
-
-syn cluster coretexDebugging
-      \ contains=coretexDebuggingCommand,coretexDebuggingParameterInteger,
-      \ coretexDebuggingParameterToken
-
-syn cluster coretexFileIO
-      \ contains=coretexFileIOCommand,coretexFileIOInternalQuantity,
-      \ coretexFileIOParameterToken
-
-syn cluster coretexFonts
-      \ contains=coretexFontsCommand,coretexFontsInternalQuantity
-
-syn cluster coretexGlue
-      \ contains=coretexGlueCommand,coretexGlueDerivedCommand
-
-syn cluster coretexHyphenation
-      \ contains=coretexHyphenationCommand,coretexHyphenationDerivedCommand,
-      \ coretexHyphenationInternalQuantity,coretexHyphenationParameterInteger
-
-syn cluster coretexInserts
-      \ contains=coretexInsertsCommand,coretexInsertsParameterDimen,
-      \ coretexInsertsParameterGlue,coretexInsertsParameterInteger
-
-syn cluster coretexJob
-      \ contains=coretexJobCommand,coretexJobInternalQuantity,
-      \ coretexJobParameterInteger
-
-syn cluster coretexKern
-      \ contains=coretexKernCommand,coretexKernInternalQuantity
-
-syn cluster coretexLogic
-      \ contains=coretexLogicCommand
-
-syn cluster coretexMacro
-      \ contains=coretexMacroCommand,coretexMacroDerivedCommand,
-      \ coretexMacroParameterInteger
-
-syn cluster coretexMarks
-      \ contains=coretexMarksCommand
-
-syn cluster coretexMath
-      \ contains=coretexMathCommand,coretexMathDerivedCommand,
-      \ coretexMathInternalQuantity,coretexMathParameterDimen,
-      \ coretexMathParameterGlue,coretexMathParameterInteger,
-      \ coretexMathParameterMuglue,coretexMathParameterToken
-
-syn cluster coretexPage
-      \ contains=coretexPageInternalQuantity,coretexPageParameterDimen,
-      \ coretexPageParameterGlue
-
-syn cluster coretexParagraph
-      \ contains=coretexParagraphCommand,coretexParagraphInternalQuantity,
-      \ coretexParagraphParameterDimen,coretexParagraphParameterGlue,
-      \ coretexParagraphParameterInteger,coretexParagraphParameterToken
-
-syn cluster coretexPenalties
-      \ contains=coretexPenaltiesCommand,coretexPenaltiesInternalQuantity,
-      \ coretexPenaltiesParameterInteger
-
-syn cluster coretexRegisters
-      \ contains=coretexRegistersCommand,coretexRegistersInternalQuantity
-
-syn cluster coretexTables
-      \ contains=coretexTablesCommand,coretexTablesParameterGlue,
-      \ coretexTablesParameterToken
-
-syn cluster coretexCommand
-      \ contains=coretexBoxCommand,coretexCharacterCommand,
-      \ coretexDebuggingCommand,coretexFileIOCommand,
-      \ coretexFontsCommand,coretexGlueCommand,
-      \ coretexHyphenationCommand,coretexInsertsCommand,
-      \ coretexJobCommand,coretexKernCommand,coretexLogicCommand,
-      \ coretexMacroCommand,coretexMarksCommand,coretexMathCommand,
-      \ coretexParagraphCommand,coretexPenaltiesCommand,coretexRegistersCommand,
-      \ coretexTablesCommand
-
-syn match   coretexBoxCommand                   display contains=@NoSpell
-      \ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
-syn match   coretexCharacterCommand             display contains=@NoSpell
-      \ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
-syn match   coretexDebuggingCommand             display contains=@NoSpell
-      \ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
-syn match   coretexFileIOCommand                display contains=@NoSpell
-      \ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
-syn match   coretexFontsCommand                 display contains=@NoSpell
-      \ '\\\%(/\|fontname\)\>'
-syn match   coretexGlueCommand                  display contains=@NoSpell
-      \ '\\\%([hv]\|un\)skip\>'
-syn match   coretexHyphenationCommand           display contains=@NoSpell
-      \ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
-syn match   coretexInsertsCommand               display contains=@NoSpell
-      \ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
-syn match   coretexJobCommand                   display contains=@NoSpell
-      \ '\\\%(dump\|end\|jobname\)\>'
-syn match   coretexKernCommand                  display contains=@NoSpell
-      \ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
-syn match   coretexLogicCommand                 display contains=@NoSpell
-      \ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
-"      \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
-syn match   coretexMacroCommand                 display contains=@NoSpell
-      \ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
-syn match   coretexMarksCommand                 display contains=@NoSpell
-      \ '\\\%(bot\|first\|top\)\=mark\>'
-syn match   coretexMathCommand                  display contains=@NoSpell
-      \ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
-syn match   coretexParagraphCommand             display contains=@NoSpell
-      \ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
-syn match   coretexPenaltiesCommand             display contains=@NoSpell
-      \ '\\\%(un\)\=penalty\>'
-syn match   coretexRegistersCommand             display contains=@NoSpell
-      \ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
-syn match   coretexTablesCommand                display contains=@NoSpell
-      \ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
-
-syn cluster coretexDerivedCommand
-      \ contains=coretexGlueDerivedCommand,coretexHyphenationDerivedCommand,
-      \ coretexMacroDerivedCommand,coretexMathDerivedCommand
-
-syn match   coretexGlueDerivedCommand           display contains=@NoSpell
-      \ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
-syn match   coretexHyphenationDerivedCommand    display contains=@NoSpell
-      \ '\\-'
-syn match   coretexMacroDerivedCommand          display contains=@NoSpell
-      \ '\\[gx]def\>'
-syn match   coretexMathDerivedCommand           display contains=@NoSpell
-      \ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
-
-syn cluster coretexInternalQuantity
-      \ contains=coretexBoxInternalQuantity,coretexCharacterInternalQuantity,
-      \ coretexFileIOInternalQuantity,coretexFontsInternalQuantity,
-      \ coretexHyphenationInternalQuantity,coretexJobInternalQuantity,
-      \ coretexKernInternalQuantity,coretexMathInternalQuantity,
-      \ coretexPageInternalQuantity,coretexParagraphInternalQuantity,
-      \ coretexPenaltiesInternalQuantity,coretexRegistersInternalQuantity
-
-syn match   coretexBoxInternalQuantity          display contains=@NoSpell
-      \ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
-syn match   coretexCharacterInternalQuantity    display contains=@NoSpell
-      \ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
-syn match   coretexFileIOInternalQuantity       display contains=@NoSpell
-      \ '\\inputlineno\>'
-syn match   coretexFontsInternalQuantity        display contains=@NoSpell
-      \ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
-syn match   coretexHyphenationInternalQuantity  display contains=@NoSpell
-      \ '\\hyphenchar\>'
-syn match   coretexJobInternalQuantity          display contains=@NoSpell
-      \ '\\deadcycles\>'
-syn match   coretexKernInternalQuantity         display contains=@NoSpell
-      \ '\\lastkern\>'
-syn match   coretexMathInternalQuantity         display contains=@NoSpell
-      \ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
-syn match   coretexPageInternalQuantity         display contains=@NoSpell
-      \ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
-syn match   coretexParagraphInternalQuantity    display contains=@NoSpell
-      \ '\\\%(prevgraf\|spacefactor\)\>'
-syn match   coretexPenaltiesInternalQuantity    display contains=@NoSpell
-      \ '\\lastpenalty\>'
-syn match   coretexRegistersInternalQuantity    display contains=@NoSpell
-      \ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
-
-syn cluster coretexParameterDimen
-      \ contains=coretexBoxParameterDimen,coretexInsertsParameterDimen,
-      \ coretexMathParameterDimen,coretexPageParameterDimen,
-      \ coretexParagraphParameterDimen
-
-syn match   coretexBoxParameterDimen            display contains=@NoSpell
-      \ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
-syn match   coretexInsertsParameterDimen        display contains=@NoSpell
-      \ '\\splitmaxdepth\>'
-syn match   coretexMathParameterDimen           display contains=@NoSpell
-      \ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
-syn match   coretexPageParameterDimen           display contains=@NoSpell
-      \ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
-syn match   coretexParagraphParameterDimen      display contains=@NoSpell
-      \ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
-
-syn cluster coretexParameterGlue
-      \ contains=coretexInsertsParameterGlue,coretexMathParameterGlue,
-      \ coretexPageParameterGlue,coretexParagraphParameterGlue,
-      \ coretexTablesParameterGlue
-
-syn match   coretexInsertsParameterGlue         display contains=@NoSpell
-      \ '\\splittopskip\>'
-syn match   coretexMathParameterGlue            display contains=@NoSpell
-      \ '\\\%(above\|below\)display\%(short\)\=skip\>'
-syn match   coretexPageParameterGlue            display contains=@NoSpell
-      \ '\\topskip\>'
-syn match   coretexParagraphParameterGlue       display contains=@NoSpell
-      \ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
-syn match   coretexTablesParameterGlue          display contains=@NoSpell
-      \ '\\tabskip\>'
-
-syn cluster coretexParameterInteger
-      \ contains=coretexBoxParameterInteger,coretexCharacterParameterInteger,
-      \ coretexDebuggingParameterInteger,coretexHyphenationParameterInteger,
-      \ coretexInsertsParameterInteger,coretexJobParameterInteger,
-      \ coretexMacroParameterInteger,coretexMathParameterInteger,
-      \ coretexParagraphParameterInteger,coretexPenaltiesParameterInteger,
-
-syn match   coretexBoxParameterInteger          display contains=@NoSpell
-      \ '\\[hv]badness\>'
-syn match   coretexCharacterParameterInteger    display contains=@NoSpell
-      \ '\\\%(\%(endline\|escape\|newline\)char\)\>'
-syn match   coretexDebuggingParameterInteger    display contains=@NoSpell
-      \ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
-syn match   coretexHyphenationParameterInteger  display contains=@NoSpell
-      \ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
-syn match   coretexInsertsParameterInteger      display contains=@NoSpell
-      \ '\\\%(holdinginserts\)\>'
-syn match   coretexJobParameterInteger          display contains=@NoSpell
-      \ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
-syn match   coretexMacroParameterInteger        display contains=@NoSpell
-      \ '\\globaldefs\>'
-syn match   coretexMathParameterInteger         display contains=@NoSpell
-      \ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
-syn match   coretexParagraphParameterInteger    display contains=@NoSpell
-      \ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
-syn match   coretexPenaltiesParameterInteger    display contains=@NoSpell
-      \ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
-
-syn cluster coretexParameterMuglue
-      \ contains=coretexMathParameterMuglue
-
-syn match   coretexMathParameterMuglue          display contains=@NoSpell
-      \ '\\\%(med\|thick\|thin\)muskip\>'
-
-syn cluster coretexParameterDimen
-      \ contains=coretexBoxParameterToken,coretexDebuggingParameterToken,
-      \ coretexFileIOParameterToken,coretexMathParameterToken,
-      \ coretexParagraphParameterToken,coretexTablesParameterToken
-
-syn match   coretexBoxParameterToken            display contains=@NoSpell
-      \ '\\every[hv]box\>'
-syn match   coretexDebuggingParameterToken      display contains=@NoSpell
-      \ '\\errhelp\>'
-syn match   coretexFileIOParameterToken         display contains=@NoSpell
-      \ '\\output\>'
-syn match   coretexMathParameterToken           display contains=@NoSpell
-      \ '\\every\%(display\|math\)\>'
-syn match   coretexParagraphParameterToken      display contains=@NoSpell
-      \ '\\everypar\>'
-syn match   coretexTablesParameterToken         display contains=@NoSpell
-      \ '\\everycr\>'
-
-
-hi def link coretexCharacter                    Character
-hi def link coretexNumber                       Number
-
-hi def link coretexIdentifier                   Identifier
-
-hi def link coretexStatement                    Statement
-hi def link coretexConditional                  Conditional
-
-hi def link coretexPreProc                      PreProc
-hi def link coretexMacro                        Macro
-
-hi def link coretexType                         Type
-
-hi def link coretexDebug                        Debug
-
-hi def link coretexTodo                         Todo
-hi def link coretexComment                      Comment
-hi def link coretexDimension                    coretexNumber
-
-hi def link coretexCommand                      coretexStatement
-hi def link coretexBoxCommand                   coretexCommand
-hi def link coretexCharacterCommand             coretexCharacter
-hi def link coretexDebuggingCommand             coretexDebug
-hi def link coretexFileIOCommand                coretexCommand
-hi def link coretexFontsCommand                 coretexType
-hi def link coretexGlueCommand                  coretexCommand
-hi def link coretexHyphenationCommand           coretexCommand
-hi def link coretexInsertsCommand               coretexCommand
-hi def link coretexJobCommand                   coretexPreProc
-hi def link coretexKernCommand                  coretexCommand
-hi def link coretexLogicCommand                 coretexConditional
-hi def link coretexMacroCommand                 coretexMacro
-hi def link coretexMarksCommand                 coretexCommand
-hi def link coretexMathCommand                  coretexCommand
-hi def link coretexParagraphCommand             coretexCommand
-hi def link coretexPenaltiesCommand             coretexCommand
-hi def link coretexRegistersCommand             coretexCommand
-hi def link coretexTablesCommand                coretexCommand
-
-hi def link coretexDerivedCommand               coretexStatement
-hi def link coretexGlueDerivedCommand           coretexDerivedCommand
-hi def link coretexHyphenationDerivedCommand    coretexDerivedCommand
-hi def link coretexMacroDerivedCommand          coretexDerivedCommand
-hi def link coretexMathDerivedCommand           coretexDerivedCommand
-
-hi def link coretexInternalQuantity             coretexIdentifier
-hi def link coretexBoxInternalQuantity          coretexInternalQuantity
-hi def link coretexCharacterInternalQuantity    coretexInternalQuantity
-hi def link coretexFileIOInternalQuantity       coretexInternalQuantity
-hi def link coretexFontsInternalQuantity        coretexInternalQuantity
-hi def link coretexHyphenationInternalQuantity  coretexInternalQuantity
-hi def link coretexJobInternalQuantity          coretexInternalQuantity
-hi def link coretexKernInternalQuantity         coretexInternalQuantity
-hi def link coretexMathInternalQuantity         coretexInternalQuantity
-hi def link coretexPageInternalQuantity         coretexInternalQuantity
-hi def link coretexParagraphInternalQuantity    coretexInternalQuantity
-hi def link coretexPenaltiesInternalQuantity    coretexInternalQuantity
-hi def link coretexRegistersInternalQuantity    coretexInternalQuantity
-
-hi def link coretexParameterDimen               coretexNumber
-hi def link coretexBoxParameterDimen            coretexParameterDimen
-hi def link coretexInsertsParameterDimen        coretexParameterDimen
-hi def link coretexMathParameterDimen           coretexParameterDimen
-hi def link coretexPageParameterDimen           coretexParameterDimen
-hi def link coretexParagraphParameterDimen      coretexParameterDimen
-
-hi def link coretexParameterGlue                coretexNumber
-hi def link coretexInsertsParameterGlue         coretexParameterGlue
-hi def link coretexMathParameterGlue            coretexParameterGlue
-hi def link coretexPageParameterGlue            coretexParameterGlue
-hi def link coretexParagraphParameterGlue       coretexParameterGlue
-hi def link coretexTablesParameterGlue          coretexParameterGlue
-
-hi def link coretexParameterInteger             coretexNumber
-hi def link coretexBoxParameterInteger          coretexParameterInteger
-hi def link coretexCharacterParameterInteger    coretexParameterInteger
-hi def link coretexDebuggingParameterInteger    coretexParameterInteger
-hi def link coretexHyphenationParameterInteger  coretexParameterInteger
-hi def link coretexInsertsParameterInteger      coretexParameterInteger
-hi def link coretexJobParameterInteger          coretexParameterInteger
-hi def link coretexMacroParameterInteger        coretexParameterInteger
-hi def link coretexMathParameterInteger         coretexParameterInteger
-hi def link coretexParagraphParameterInteger    coretexParameterInteger
-hi def link coretexPenaltiesParameterInteger    coretexParameterInteger
-
-hi def link coretexParameterMuglue              coretexNumber
-hi def link coretexMathParameterMuglue          coretexParameterMuglue
-
-hi def link coretexParameterToken               coretexIdentifier
-hi def link coretexBoxParameterToken            coretexParameterToken
-hi def link coretexDebuggingParameterToken      coretexParameterToken
-hi def link coretexFileIOParameterToken         coretexParameterToken
-hi def link coretexMathParameterToken           coretexParameterToken
-hi def link coretexParagraphParameterToken      coretexParameterToken
-hi def link coretexTablesParameterToken         coretexParameterToken
-
-let b:current_syntax = "coretex"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
diff --git a/runtime/syntax/initex.vim b/runtime/syntax/initex.vim
new file mode 100644
index 0000000..8f3462f
--- /dev/null
+++ b/runtime/syntax/initex.vim
@@ -0,0 +1,376 @@
+" Vim syntax file
+" Language:         TeX (core definition)
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" This follows the grouping (sort of) found at
+" http://www.tug.org/utilities/plain/cseq.html#top-fam
+
+syn keyword initexTodo                          TODO FIXME XXX NOTE
+
+syn match initexComment                         display contains=initexTodo
+      \ '\\\@<!\%(\\\\\)*\zs%.*$'
+
+syn match   initexDimension                     display contains=@NoSpell
+      \ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
+
+syn cluster initexBox
+      \ contains=initexBoxCommand,initexBoxInternalQuantity,
+      \ initexBoxParameterDimen,initexBoxParameterInteger,
+      \ initexBoxParameterToken
+
+syn cluster initexCharacter
+      \ contains=initexCharacterCommand,initexCharacterInternalQuantity,
+      \ initexCharacterParameterInteger
+
+syn cluster initexDebugging
+      \ contains=initexDebuggingCommand,initexDebuggingParameterInteger,
+      \ initexDebuggingParameterToken
+
+syn cluster initexFileIO
+      \ contains=initexFileIOCommand,initexFileIOInternalQuantity,
+      \ initexFileIOParameterToken
+
+syn cluster initexFonts
+      \ contains=initexFontsCommand,initexFontsInternalQuantity
+
+syn cluster initexGlue
+      \ contains=initexGlueCommand,initexGlueDerivedCommand
+
+syn cluster initexHyphenation
+      \ contains=initexHyphenationCommand,initexHyphenationDerivedCommand,
+      \ initexHyphenationInternalQuantity,initexHyphenationParameterInteger
+
+syn cluster initexInserts
+      \ contains=initexInsertsCommand,initexInsertsParameterDimen,
+      \ initexInsertsParameterGlue,initexInsertsParameterInteger
+
+syn cluster initexJob
+      \ contains=initexJobCommand,initexJobInternalQuantity,
+      \ initexJobParameterInteger
+
+syn cluster initexKern
+      \ contains=initexKernCommand,initexKernInternalQuantity
+
+syn cluster initexLogic
+      \ contains=initexLogicCommand
+
+syn cluster initexMacro
+      \ contains=initexMacroCommand,initexMacroDerivedCommand,
+      \ initexMacroParameterInteger
+
+syn cluster initexMarks
+      \ contains=initexMarksCommand
+
+syn cluster initexMath
+      \ contains=initexMathCommand,initexMathDerivedCommand,
+      \ initexMathInternalQuantity,initexMathParameterDimen,
+      \ initexMathParameterGlue,initexMathParameterInteger,
+      \ initexMathParameterMuglue,initexMathParameterToken
+
+syn cluster initexPage
+      \ contains=initexPageInternalQuantity,initexPageParameterDimen,
+      \ initexPageParameterGlue
+
+syn cluster initexParagraph
+      \ contains=initexParagraphCommand,initexParagraphInternalQuantity,
+      \ initexParagraphParameterDimen,initexParagraphParameterGlue,
+      \ initexParagraphParameterInteger,initexParagraphParameterToken
+
+syn cluster initexPenalties
+      \ contains=initexPenaltiesCommand,initexPenaltiesInternalQuantity,
+      \ initexPenaltiesParameterInteger
+
+syn cluster initexRegisters
+      \ contains=initexRegistersCommand,initexRegistersInternalQuantity
+
+syn cluster initexTables
+      \ contains=initexTablesCommand,initexTablesParameterGlue,
+      \ initexTablesParameterToken
+
+syn cluster initexCommand
+      \ contains=initexBoxCommand,initexCharacterCommand,
+      \ initexDebuggingCommand,initexFileIOCommand,
+      \ initexFontsCommand,initexGlueCommand,
+      \ initexHyphenationCommand,initexInsertsCommand,
+      \ initexJobCommand,initexKernCommand,initexLogicCommand,
+      \ initexMacroCommand,initexMarksCommand,initexMathCommand,
+      \ initexParagraphCommand,initexPenaltiesCommand,initexRegistersCommand,
+      \ initexTablesCommand
+
+syn match   initexBoxCommand                    display contains=@NoSpell
+      \ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
+syn match   initexCharacterCommand              display contains=@NoSpell
+      \ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
+syn match   initexDebuggingCommand              display contains=@NoSpell
+      \ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
+syn match   initexFileIOCommand                 display contains=@NoSpell
+      \ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
+syn match   initexFontsCommand                  display contains=@NoSpell
+      \ '\\\%(/\|fontname\)\>'
+syn match   initexGlueCommand                   display contains=@NoSpell
+      \ '\\\%([hv]\|un\)skip\>'
+syn match   initexHyphenationCommand            display contains=@NoSpell
+      \ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
+syn match   initexInsertsCommand                display contains=@NoSpell
+      \ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
+syn match   initexJobCommand                    display contains=@NoSpell
+      \ '\\\%(dump\|end\|jobname\)\>'
+syn match   initexKernCommand                   display contains=@NoSpell
+      \ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
+syn match   initexLogicCommand                  display contains=@NoSpell
+      \ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
+"      \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
+syn match   initexMacroCommand                  display contains=@NoSpell
+      \ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
+syn match   initexMarksCommand                  display contains=@NoSpell
+      \ '\\\%(bot\|first\|top\)\=mark\>'
+syn match   initexMathCommand                   display contains=@NoSpell
+      \ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
+syn match   initexParagraphCommand              display contains=@NoSpell
+      \ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
+syn match   initexPenaltiesCommand              display contains=@NoSpell
+      \ '\\\%(un\)\=penalty\>'
+syn match   initexRegistersCommand              display contains=@NoSpell
+      \ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
+syn match   initexTablesCommand                 display contains=@NoSpell
+      \ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
+
+syn cluster initexDerivedCommand
+      \ contains=initexGlueDerivedCommand,initexHyphenationDerivedCommand,
+      \ initexMacroDerivedCommand,initexMathDerivedCommand
+
+syn match   initexGlueDerivedCommand            display contains=@NoSpell
+      \ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
+syn match   initexHyphenationDerivedCommand     display contains=@NoSpell
+      \ '\\-'
+syn match   initexMacroDerivedCommand           display contains=@NoSpell
+      \ '\\[gx]def\>'
+syn match   initexMathDerivedCommand            display contains=@NoSpell
+      \ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
+
+syn cluster initexInternalQuantity
+      \ contains=initexBoxInternalQuantity,initexCharacterInternalQuantity,
+      \ initexFileIOInternalQuantity,initexFontsInternalQuantity,
+      \ initexHyphenationInternalQuantity,initexJobInternalQuantity,
+      \ initexKernInternalQuantity,initexMathInternalQuantity,
+      \ initexPageInternalQuantity,initexParagraphInternalQuantity,
+      \ initexPenaltiesInternalQuantity,initexRegistersInternalQuantity
+
+syn match   initexBoxInternalQuantity           display contains=@NoSpell
+      \ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
+syn match   initexCharacterInternalQuantity     display contains=@NoSpell
+      \ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
+syn match   initexFileIOInternalQuantity        display contains=@NoSpell
+      \ '\\inputlineno\>'
+syn match   initexFontsInternalQuantity         display contains=@NoSpell
+      \ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
+syn match   initexHyphenationInternalQuantity   display contains=@NoSpell
+      \ '\\hyphenchar\>'
+syn match   initexJobInternalQuantity           display contains=@NoSpell
+      \ '\\deadcycles\>'
+syn match   initexKernInternalQuantity          display contains=@NoSpell
+      \ '\\lastkern\>'
+syn match   initexMathInternalQuantity          display contains=@NoSpell
+      \ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
+syn match   initexPageInternalQuantity          display contains=@NoSpell
+      \ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
+syn match   initexParagraphInternalQuantity     display contains=@NoSpell
+      \ '\\\%(prevgraf\|spacefactor\)\>'
+syn match   initexPenaltiesInternalQuantity     display contains=@NoSpell
+      \ '\\lastpenalty\>'
+syn match   initexRegistersInternalQuantity     display contains=@NoSpell
+      \ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
+
+syn cluster initexParameterDimen
+      \ contains=initexBoxParameterDimen,initexInsertsParameterDimen,
+      \ initexMathParameterDimen,initexPageParameterDimen,
+      \ initexParagraphParameterDimen
+
+syn match   initexBoxParameterDimen             display contains=@NoSpell
+      \ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
+syn match   initexInsertsParameterDimen         display contains=@NoSpell
+      \ '\\splitmaxdepth\>'
+syn match   initexMathParameterDimen            display contains=@NoSpell
+      \ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
+syn match   initexPageParameterDimen            display contains=@NoSpell
+      \ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
+syn match   initexParagraphParameterDimen       display contains=@NoSpell
+      \ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
+
+syn cluster initexParameterGlue
+      \ contains=initexInsertsParameterGlue,initexMathParameterGlue,
+      \ initexPageParameterGlue,initexParagraphParameterGlue,
+      \ initexTablesParameterGlue
+
+syn match   initexInsertsParameterGlue          display contains=@NoSpell
+      \ '\\splittopskip\>'
+syn match   initexMathParameterGlue             display contains=@NoSpell
+      \ '\\\%(above\|below\)display\%(short\)\=skip\>'
+syn match   initexPageParameterGlue             display contains=@NoSpell
+      \ '\\topskip\>'
+syn match   initexParagraphParameterGlue        display contains=@NoSpell
+      \ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
+syn match   initexTablesParameterGlue           display contains=@NoSpell
+      \ '\\tabskip\>'
+
+syn cluster initexParameterInteger
+      \ contains=initexBoxParameterInteger,initexCharacterParameterInteger,
+      \ initexDebuggingParameterInteger,initexHyphenationParameterInteger,
+      \ initexInsertsParameterInteger,initexJobParameterInteger,
+      \ initexMacroParameterInteger,initexMathParameterInteger,
+      \ initexParagraphParameterInteger,initexPenaltiesParameterInteger,
+
+syn match   initexBoxParameterInteger           display contains=@NoSpell
+      \ '\\[hv]badness\>'
+syn match   initexCharacterParameterInteger     display contains=@NoSpell
+      \ '\\\%(\%(endline\|escape\|newline\)char\)\>'
+syn match   initexDebuggingParameterInteger     display contains=@NoSpell
+      \ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
+syn match   initexHyphenationParameterInteger   display contains=@NoSpell
+      \ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
+syn match   initexInsertsParameterInteger       display contains=@NoSpell
+      \ '\\\%(holdinginserts\)\>'
+syn match   initexJobParameterInteger           display contains=@NoSpell
+      \ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
+syn match   initexMacroParameterInteger         display contains=@NoSpell
+      \ '\\globaldefs\>'
+syn match   initexMathParameterInteger          display contains=@NoSpell
+      \ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
+syn match   initexParagraphParameterInteger     display contains=@NoSpell
+      \ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
+syn match   initexPenaltiesParameterInteger     display contains=@NoSpell
+      \ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
+
+syn cluster initexParameterMuglue
+      \ contains=initexMathParameterMuglue
+
+syn match   initexMathParameterMuglue           display contains=@NoSpell
+      \ '\\\%(med\|thick\|thin\)muskip\>'
+
+syn cluster initexParameterDimen
+      \ contains=initexBoxParameterToken,initexDebuggingParameterToken,
+      \ initexFileIOParameterToken,initexMathParameterToken,
+      \ initexParagraphParameterToken,initexTablesParameterToken
+
+syn match   initexBoxParameterToken             display contains=@NoSpell
+      \ '\\every[hv]box\>'
+syn match   initexDebuggingParameterToken       display contains=@NoSpell
+      \ '\\errhelp\>'
+syn match   initexFileIOParameterToken          display contains=@NoSpell
+      \ '\\output\>'
+syn match   initexMathParameterToken            display contains=@NoSpell
+      \ '\\every\%(display\|math\)\>'
+syn match   initexParagraphParameterToken       display contains=@NoSpell
+      \ '\\everypar\>'
+syn match   initexTablesParameterToken          display contains=@NoSpell
+      \ '\\everycr\>'
+
+
+hi def link initexCharacter                     Character
+hi def link initexNumber                        Number
+
+hi def link initexIdentifier                    Identifier
+
+hi def link initexStatement                     Statement
+hi def link initexConditional                   Conditional
+
+hi def link initexPreProc                       PreProc
+hi def link initexMacro                         Macro
+
+hi def link initexType                          Type
+
+hi def link initexDebug                         Debug
+
+hi def link initexTodo                          Todo
+hi def link initexComment                       Comment
+hi def link initexDimension                     initexNumber
+
+hi def link initexCommand                       initexStatement
+hi def link initexBoxCommand                    initexCommand
+hi def link initexCharacterCommand              initexCharacter
+hi def link initexDebuggingCommand              initexDebug
+hi def link initexFileIOCommand                 initexCommand
+hi def link initexFontsCommand                  initexType
+hi def link initexGlueCommand                   initexCommand
+hi def link initexHyphenationCommand            initexCommand
+hi def link initexInsertsCommand                initexCommand
+hi def link initexJobCommand                    initexPreProc
+hi def link initexKernCommand                   initexCommand
+hi def link initexLogicCommand                  initexConditional
+hi def link initexMacroCommand                  initexMacro
+hi def link initexMarksCommand                  initexCommand
+hi def link initexMathCommand                   initexCommand
+hi def link initexParagraphCommand              initexCommand
+hi def link initexPenaltiesCommand              initexCommand
+hi def link initexRegistersCommand              initexCommand
+hi def link initexTablesCommand                 initexCommand
+
+hi def link initexDerivedCommand                initexStatement
+hi def link initexGlueDerivedCommand            initexDerivedCommand
+hi def link initexHyphenationDerivedCommand     initexDerivedCommand
+hi def link initexMacroDerivedCommand           initexDerivedCommand
+hi def link initexMathDerivedCommand            initexDerivedCommand
+
+hi def link initexInternalQuantity              initexIdentifier
+hi def link initexBoxInternalQuantity           initexInternalQuantity
+hi def link initexCharacterInternalQuantity     initexInternalQuantity
+hi def link initexFileIOInternalQuantity        initexInternalQuantity
+hi def link initexFontsInternalQuantity         initexInternalQuantity
+hi def link initexHyphenationInternalQuantity   initexInternalQuantity
+hi def link initexJobInternalQuantity           initexInternalQuantity
+hi def link initexKernInternalQuantity          initexInternalQuantity
+hi def link initexMathInternalQuantity          initexInternalQuantity
+hi def link initexPageInternalQuantity          initexInternalQuantity
+hi def link initexParagraphInternalQuantity     initexInternalQuantity
+hi def link initexPenaltiesInternalQuantity     initexInternalQuantity
+hi def link initexRegistersInternalQuantity     initexInternalQuantity
+
+hi def link initexParameterDimen                initexNumber
+hi def link initexBoxParameterDimen             initexParameterDimen
+hi def link initexInsertsParameterDimen         initexParameterDimen
+hi def link initexMathParameterDimen            initexParameterDimen
+hi def link initexPageParameterDimen            initexParameterDimen
+hi def link initexParagraphParameterDimen       initexParameterDimen
+
+hi def link initexParameterGlue                 initexNumber
+hi def link initexInsertsParameterGlue          initexParameterGlue
+hi def link initexMathParameterGlue             initexParameterGlue
+hi def link initexPageParameterGlue             initexParameterGlue
+hi def link initexParagraphParameterGlue        initexParameterGlue
+hi def link initexTablesParameterGlue           initexParameterGlue
+
+hi def link initexParameterInteger              initexNumber
+hi def link initexBoxParameterInteger           initexParameterInteger
+hi def link initexCharacterParameterInteger     initexParameterInteger
+hi def link initexDebuggingParameterInteger     initexParameterInteger
+hi def link initexHyphenationParameterInteger   initexParameterInteger
+hi def link initexInsertsParameterInteger       initexParameterInteger
+hi def link initexJobParameterInteger           initexParameterInteger
+hi def link initexMacroParameterInteger         initexParameterInteger
+hi def link initexMathParameterInteger          initexParameterInteger
+hi def link initexParagraphParameterInteger     initexParameterInteger
+hi def link initexPenaltiesParameterInteger     initexParameterInteger
+
+hi def link initexParameterMuglue               initexNumber
+hi def link initexMathParameterMuglue           initexParameterMuglue
+
+hi def link initexParameterToken                initexIdentifier
+hi def link initexBoxParameterToken             initexParameterToken
+hi def link initexDebuggingParameterToken       initexParameterToken
+hi def link initexFileIOParameterToken          initexParameterToken
+hi def link initexMathParameterToken            initexParameterToken
+hi def link initexParagraphParameterToken       initexParameterToken
+hi def link initexTablesParameterToken          initexParameterToken
+
+let b:current_syntax = "initex"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
diff --git a/runtime/syntax/kconfig.vim b/runtime/syntax/kconfig.vim
index 05730a5..a68592e 100644
--- a/runtime/syntax/kconfig.vim
+++ b/runtime/syntax/kconfig.vim
@@ -1,6 +1,6 @@
 " Vim syntax file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-13
+" Latest Revision:  2006-04-14
 
 if exists("b:current_syntax")
   finish
@@ -677,6 +677,7 @@
 syn keyword kconfigTriState           y m n
 
 syn match   kconfigSpecialChar        contained '\\.'
+syn match   kconfigSpecialChar        '\\$'
 
 syn region  kconfigPath               matchgroup=kconfigPath
                                       \ start=+"+ skip=+\\\\\|\\\"+ end=+"+
diff --git a/runtime/syntax/lua.vim b/runtime/syntax/lua.vim
index 5553728..fe97712 100644
--- a/runtime/syntax/lua.vim
+++ b/runtime/syntax/lua.vim
@@ -1,254 +1,297 @@
-" Vim syntax file
-" Language:	Lua 4.0 and Lua 5.0
-" Maintainer:	Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
-" First Author:	Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
-" Last Change:	2004 Aug 29
-" Options:	lua_version = 4 or 5 [default]
-"
-" 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
-
-if !exists("lua_version")
-  let lua_version = 5
-endif
-
-syn case match
-
-" Comments
-syn keyword luaTodo		contained TODO FIXME XXX
-syn match   luaComment		"--.*$" contains=luaTodo
-if lua_version > 4
-  syn region  luaComment	matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
-  syn region  luaInnerComment	contained transparent start="\[\[" end="\]\]"
-endif
-" First line may start with #!
-syn match   luaComment		"\%^#!.*"
-
-" catch errors caused by wrong parenthesis and wrong curly brackets or
-" keywords placed outside their respective blocks
-
-syn region  luaParen		transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
-syn match   luaError		")"
-syn match   luaError		"}"
-syn match   luaError		"\<\%(end\|else\|elseif\|then\|until\|in\)\>"
-
-
-" Function declaration
-syn region  luaFunctionBlock    transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" if then else elseif end
-syn keyword luaCond		contained else
-
-" then ... end
-syn region  luaCondEnd		contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
-
-" elseif ... then
-syn region  luaCondElseif	contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" if ... then
-syn region  luaCondStart	transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
-
-" do ... end
-syn region  luaBlock		transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" repeat ... until
-syn region  luaRepeatBlock	transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" while ... do
-syn region  luaRepeatBlock	transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
-
-" for ... do and for ... in ... do
-syn region luaRepeatBlock	transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
-
-" Following 'else' example. This is another item to those
-" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
-syn keyword luaRepeat		contained in
-
-" other keywords
-syn keyword luaStatement	return local break
-syn keyword luaOperator		and or not
-syn keyword luaConstant		nil
-if lua_version > 4
-  syn keyword luaConstant	true false
-endif
-
-" Pre processor doesn't exist since Lua 4.0
-" syn match   luaPreProc	  "^\s*$\%(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>"
-
-" Strings
-syn match   luaSpecial		contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
-syn region  luaString		start=+'+  end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
-syn region  luaString		start=+"+  end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
-" Nested strings
-syn region  luaString2		matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
-
-" integer number
-syn match luaNumber		"\<[0-9]\+\>"
-" floating point number, with dot, optional exponent
-syn match luaFloat		"\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
-" floating point number, starting with a dot, optional exponent
-syn match luaFloat		"\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
-" floating point number, without dot, with exponent
-syn match luaFloat		"\<[0-9]\+e[-+]\=[0-9]\+\>"
-
-" tables
-syn region  luaTableBlock       transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
-
-syn keyword luaFunc	assert collectgarbage dofile error gcinfo next
-syn keyword luaFunc	print rawget rawset tonumber tostring type _VERSION
-
-if lua_version == 4
-  syn keyword luaFunc	_ALERT _ERRORMESSAGE
-  syn keyword luaFunc	call copytagmethods dostring
-  syn keyword luaFunc	foreach foreachi getglobal getn
-  syn keyword luaFunc	gettagmethod globals newtag
-  syn keyword luaFunc	setglobal settag settagmethod sort
-  syn keyword luaFunc	tag tinsert tremove
-  syn keyword luaFunc	_INPUT _OUTPUT _STDIN _STDOUT _STDERR
-  syn keyword luaFunc	openfile closefile flush seek
-  syn keyword luaFunc	setlocale execute remove rename tmpname
-  syn keyword luaFunc	getenv date clock exit
-  syn keyword luaFunc	readfrom writeto appendto read write
-  syn keyword luaFunc	PI abs sin cos tan asin
-  syn keyword luaFunc	acos atan atan2 ceil floor
-  syn keyword luaFunc	mod frexp ldexp sqrt min max log
-  syn keyword luaFunc	log10 exp deg rad random
-  syn keyword luaFunc	randomseed strlen strsub strlower strupper
-  syn keyword luaFunc	strchar strrep ascii strbyte
-  syn keyword luaFunc	format strfind gsub
-  syn keyword luaFunc	getinfo getlocal setlocal setcallhook setlinehook
-else
-  syn keyword luaFunc	_G getfenv getmetatable ipairs loadfile
-  syn keyword luaFunc	loadlib loadstring pairs pcall rawequal
-  syn keyword luaFunc	require setfenv setmetatable unpack xpcall
-  syn keyword luaFunc	LUA_PATH _LOADED _REQUIREDNAME
-  " Not sure if all these functions need to be highlighted...
-  syn match   luaFunc	/coroutine\.create/
-  syn match   luaFunc	/coroutine\.resume/
-  syn match   luaFunc	/coroutine\.status/
-  syn match   luaFunc	/coroutine\.wrap/
-  syn match   luaFunc	/coroutine\.yield/
-  syn match   luaFunc	/string\.byte/
-  syn match   luaFunc	/string\.char/
-  syn match   luaFunc	/string\.dump/
-  syn match   luaFunc	/string\.find/
-  syn match   luaFunc	/string\.len/
-  syn match   luaFunc	/string\.lower/
-  syn match   luaFunc	/string\.rep/
-  syn match   luaFunc	/string\.sub/
-  syn match   luaFunc	/string\.upper/
-  syn match   luaFunc	/string\.format/
-  syn match   luaFunc	/string\.gfind/
-  syn match   luaFunc	/string\.gsub/
-  syn match   luaFunc	/table\.concat/
-  syn match   luaFunc	/table\.foreach/
-  syn match   luaFunc	/table\.foreachi/
-  syn match   luaFunc	/table\.getn/
-  syn match   luaFunc	/table\.sort/
-  syn match   luaFunc	/table\.insert/
-  syn match   luaFunc	/table\.remove/
-  syn match   luaFunc	/table\.setn/
-  syn match   luaFunc	/math\.abs/
-  syn match   luaFunc	/math\.acos/
-  syn match   luaFunc	/math\.asin/
-  syn match   luaFunc	/math\.atan/
-  syn match   luaFunc	/math\.atan2/
-  syn match   luaFunc	/math\.ceil/
-  syn match   luaFunc	/math\.cos/
-  syn match   luaFunc	/math\.deg/
-  syn match   luaFunc	/math\.exp/
-  syn match   luaFunc	/math\.floor/
-  syn match   luaFunc	/math\.log/
-  syn match   luaFunc	/math\.log10/
-  syn match   luaFunc	/math\.max/
-  syn match   luaFunc	/math\.min/
-  syn match   luaFunc	/math\.mod/
-  syn match   luaFunc	/math\.pow/
-  syn match   luaFunc	/math\.rad/
-  syn match   luaFunc	/math\.sin/
-  syn match   luaFunc	/math\.sqrt/
-  syn match   luaFunc	/math\.tan/
-  syn match   luaFunc	/math\.frexp/
-  syn match   luaFunc	/math\.ldexp/
-  syn match   luaFunc	/math\.random/
-  syn match   luaFunc	/math\.randomseed/
-  syn match   luaFunc	/math\.pi/
-  syn match   luaFunc	/io\.stdin/
-  syn match   luaFunc	/io\.stdout/
-  syn match   luaFunc	/io\.stderr/
-  syn match   luaFunc	/io\.close/
-  syn match   luaFunc	/io\.flush/
-  syn match   luaFunc	/io\.input/
-  syn match   luaFunc	/io\.lines/
-  syn match   luaFunc	/io\.open/
-  syn match   luaFunc	/io\.output/
-  syn match   luaFunc	/io\.popen/
-  syn match   luaFunc	/io\.read/
-  syn match   luaFunc	/io\.tmpfile/
-  syn match   luaFunc	/io\.type/
-  syn match   luaFunc	/io\.write/
-  syn match   luaFunc	/os\.clock/
-  syn match   luaFunc	/os\.date/
-  syn match   luaFunc	/os\.difftime/
-  syn match   luaFunc	/os\.execute/
-  syn match   luaFunc	/os\.exit/
-  syn match   luaFunc	/os\.getenv/
-  syn match   luaFunc	/os\.remove/
-  syn match   luaFunc	/os\.rename/
-  syn match   luaFunc	/os\.setlocale/
-  syn match   luaFunc	/os\.time/
-  syn match   luaFunc	/os\.tmpname/
-  syn match   luaFunc	/debug\.debug/
-  syn match   luaFunc	/debug\.gethook/
-  syn match   luaFunc	/debug\.getinfo/
-  syn match   luaFunc	/debug\.getlocal/
-  syn match   luaFunc	/debug\.getupvalue/
-  syn match   luaFunc	/debug\.setlocal/
-  syn match   luaFunc	/debug\.setupvalue/
-  syn match   luaFunc	/debug\.sethook/
-  syn match   luaFunc	/debug\.traceback/
-endif
-
-"syncing method
-syn sync minlines=100
-
-" 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_lua_syntax_inits")
-  if version < 508
-    let did_lua_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink luaStatement		Statement
-  HiLink luaRepeat		Repeat
-  HiLink luaString		String
-  HiLink luaString2		String
-  HiLink luaNumber		Number
-  HiLink luaFloat		Float
-  HiLink luaOperator		Operator
-  HiLink luaConstant		Constant
-  HiLink luaCond		Conditional
-  HiLink luaFunction		Function
-  HiLink luaComment		Comment
-  HiLink luaTodo		Todo
-  HiLink luaTable		Structure
-  HiLink luaError		Error
-  HiLink luaSpecial		SpecialChar
-  " HiLink luaPreProc		PreProc
-  HiLink luaFunc		Identifier
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "lua"
-
-" vim: noet ts=8
+" Vim syntax file

+" Language:	Lua 4.0, Lua 5.0 and Lua 5.1

+" Maintainer:	Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>

+" First Author:	Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>

+" Last Change:	2006 Apr. 19

+" Options:	lua_version = 4 or 5

+"		lua_subversion = 0 (4.0, 5.0) or 1 (5.1)

+"		default 5.1

+

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

+

+if !exists("lua_version")

+  " Default is lua 5.1

+  let lua_version = 5

+  let lua_subversion = 1

+elseif !exists("lua_subversion")

+  " lua_version exists, but lua_subversion doesn't. So, set it to 0

+  let lua_subversion = 0

+endif

+

+syn case match

+

+" syncing method

+syn sync minlines=100

+

+" Comments

+syn keyword luaTodo             contained TODO FIXME XXX

+syn match   luaComment          "--.*$" contains=luaTodo

+if lua_version == 5 && lua_subversion == 0

+  syn region  luaComment        matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment

+  syn region  luaInnerComment   contained transparent start="\[\[" end="\]\]"

+elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)

+  " Comments in Lua 5.1: [[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.

+  syn region  luaComment        matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]"

+endif

+

+" First line may start with #!

+syn match luaComment "\%^#!.*"

+

+" catch errors caused by wrong parenthesis and wrong curly brackets or

+" keywords placed outside their respective blocks

+

+syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement

+syn match  luaError ")"

+syn match  luaError "}"

+syn match  luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"

+

+" Function declaration

+syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat

+

+" if then else elseif end

+syn keyword luaCond contained else

+

+" then ... end

+syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat

+

+" elseif ... then

+syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat

+

+" if ... then

+syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty

+

+" do ... end

+syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat

+

+" repeat ... until

+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat

+

+" while ... do

+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty

+

+" for ... do and for ... in ... do

+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty

+

+" Following 'else' example. This is another item to those

+" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.

+syn keyword luaRepeat contained in

+

+" other keywords

+syn keyword luaStatement return local break

+syn keyword luaOperator  and or not

+syn keyword luaConstant  nil

+if lua_version > 4

+  syn keyword luaConstant true false

+endif

+

+" Strings

+syn match  luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"

+syn region luaString  start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial

+syn region luaString  start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial

+" Nested strings

+if (lua_version == 5 && lua_subversion == 0) || lua_version < 5

+  syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2

+elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)

+  syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]"

+endif

+

+" integer number

+syn match luaNumber "\<[0-9]\+\>"

+" floating point number, with dot, optional exponent

+syn match luaFloat  "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"

+" floating point number, starting with a dot, optional exponent

+syn match luaFloat  "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"

+" floating point number, without dot, with exponent

+syn match luaFloat  "\<[0-9]\+e[-+]\=[0-9]\+\>"

+

+" tables

+syn region  luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement

+

+syn keyword luaFunc assert collectgarbage dofile error gcinfo next

+syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION

+

+if lua_version == 4

+  syn keyword luaFunc _ALERT _ERRORMESSAGE

+  syn keyword luaFunc call copytagmethods dostring

+  syn keyword luaFunc foreach foreachi getglobal getn

+  syn keyword luaFunc gettagmethod globals newtag

+  syn keyword luaFunc setglobal settag settagmethod sort

+  syn keyword luaFunc tag tinsert tremove

+  syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR

+  syn keyword luaFunc openfile closefile flush seek

+  syn keyword luaFunc setlocale execute remove rename tmpname

+  syn keyword luaFunc getenv date clock exit

+  syn keyword luaFunc readfrom writeto appendto read write

+  syn keyword luaFunc PI abs sin cos tan asin

+  syn keyword luaFunc acos atan atan2 ceil floor

+  syn keyword luaFunc mod frexp ldexp sqrt min max log

+  syn keyword luaFunc log10 exp deg rad random

+  syn keyword luaFunc randomseed strlen strsub strlower strupper

+  syn keyword luaFunc strchar strrep ascii strbyte

+  syn keyword luaFunc format strfind gsub

+  syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook

+elseif lua_version == 5

+  " Not sure if all these functions need to be highlighted...

+  syn keyword luaFunc _G getfenv getmetatable ipairs loadfile

+  syn keyword luaFunc loadstring pairs pcall rawequal

+  syn keyword luaFunc require setfenv setmetatable unpack xpcall

+  if lua_subversion == 0

+    syn keyword luaFunc loadlib LUA_PATH _LOADED _REQUIREDNAME

+  elseif lua_subversion == 1

+    syn keyword luaFunc load module select

+    syn match luaFunc /package\.cpath/

+    syn match luaFunc /package\.loaded/

+    syn match luaFunc /package\.loadlib/

+    syn match luaFunc /package\.path/

+    syn match luaFunc /package\.preload/

+    syn match luaFunc /package\.seeall/

+    syn match luaFunc /coroutine\.running/

+  endif

+  syn match   luaFunc /coroutine\.create/

+  syn match   luaFunc /coroutine\.resume/

+  syn match   luaFunc /coroutine\.status/

+  syn match   luaFunc /coroutine\.wrap/

+  syn match   luaFunc /coroutine\.yield/

+  syn match   luaFunc /string\.byte/

+  syn match   luaFunc /string\.char/

+  syn match   luaFunc /string\.dump/

+  syn match   luaFunc /string\.find/

+  syn match   luaFunc /string\.len/

+  syn match   luaFunc /string\.lower/

+  syn match   luaFunc /string\.rep/

+  syn match   luaFunc /string\.sub/

+  syn match   luaFunc /string\.upper/

+  syn match   luaFunc /string\.format/

+  syn match   luaFunc /string\.gsub/

+  if lua_subversion == 0

+    syn match luaFunc /string\.gfind/

+  elseif lua_subversion == 1

+    syn match luaFunc /string\.gmatch/

+    syn match luaFunc /string\.match/

+    syn match luaFunc /string\.reverse/

+    syn match luaFunc /table\.maxn/

+  endif

+  syn match   luaFunc /table\.concat/

+  syn match   luaFunc /table\.foreach/

+  syn match   luaFunc /table\.foreachi/

+  syn match   luaFunc /table\.getn/

+  syn match   luaFunc /table\.sort/

+  syn match   luaFunc /table\.insert/

+  syn match   luaFunc /table\.remove/

+  syn match   luaFunc /table\.setn/

+  syn match   luaFunc /math\.abs/

+  syn match   luaFunc /math\.acos/

+  syn match   luaFunc /math\.asin/

+  syn match   luaFunc /math\.atan/

+  syn match   luaFunc /math\.atan2/

+  syn match   luaFunc /math\.ceil/

+  syn match   luaFunc /math\.sin/

+  syn match   luaFunc /math\.cos/

+  syn match   luaFunc /math\.tan/

+  syn match   luaFunc /math\.deg/

+  syn match   luaFunc /math\.exp/

+  syn match   luaFunc /math\.floor/

+  syn match   luaFunc /math\.log/

+  syn match   luaFunc /math\.log10/

+  syn match   luaFunc /math\.max/

+  syn match   luaFunc /math\.min/

+  if lua_subversion == 0

+    syn match luaFunc /math\.mod/

+  elseif lua_subversion == 1

+    syn match luaFunc /math\.fmod/

+    syn match luaFunc /math\.modf/

+    syn match luaFunc /math\.cosh/

+    syn match luaFunc /math\.sinh/

+    syn match luaFunc /math\.tanh/

+  endif

+  syn match   luaFunc /math\.pow/

+  syn match   luaFunc /math\.rad/

+  syn match   luaFunc /math\.sqrt/

+  syn match   luaFunc /math\.frexp/

+  syn match   luaFunc /math\.ldexp/

+  syn match   luaFunc /math\.random/

+  syn match   luaFunc /math\.randomseed/

+  syn match   luaFunc /math\.pi/

+  syn match   luaFunc /io\.stdin/

+  syn match   luaFunc /io\.stdout/

+  syn match   luaFunc /io\.stderr/

+  syn match   luaFunc /io\.close/

+  syn match   luaFunc /io\.flush/

+  syn match   luaFunc /io\.input/

+  syn match   luaFunc /io\.lines/

+  syn match   luaFunc /io\.open/

+  syn match   luaFunc /io\.output/

+  syn match   luaFunc /io\.popen/

+  syn match   luaFunc /io\.read/

+  syn match   luaFunc /io\.tmpfile/

+  syn match   luaFunc /io\.type/

+  syn match   luaFunc /io\.write/

+  syn match   luaFunc /os\.clock/

+  syn match   luaFunc /os\.date/

+  syn match   luaFunc /os\.difftime/

+  syn match   luaFunc /os\.execute/

+  syn match   luaFunc /os\.exit/

+  syn match   luaFunc /os\.getenv/

+  syn match   luaFunc /os\.remove/

+  syn match   luaFunc /os\.rename/

+  syn match   luaFunc /os\.setlocale/

+  syn match   luaFunc /os\.time/

+  syn match   luaFunc /os\.tmpname/

+  syn match   luaFunc /debug\.debug/

+  syn match   luaFunc /debug\.gethook/

+  syn match   luaFunc /debug\.getinfo/

+  syn match   luaFunc /debug\.getlocal/

+  syn match   luaFunc /debug\.getupvalue/

+  syn match   luaFunc /debug\.setlocal/

+  syn match   luaFunc /debug\.setupvalue/

+  syn match   luaFunc /debug\.sethook/

+  syn match   luaFunc /debug\.traceback/

+  if lua_subversion == 1

+    syn match luaFunc /debug\.getfenv/

+    syn match luaFunc /debug\.getmetatable/

+    syn match luaFunc /debug\.getregistry/

+    syn match luaFunc /debug\.setfenv/

+    syn match luaFunc /debug\.setmetatable/

+  endif

+endif

+

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

+  if version < 508

+    let did_lua_syntax_inits = 1

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

+  else

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

+  endif

+

+  HiLink luaStatement		Statement

+  HiLink luaRepeat		Repeat

+  HiLink luaString		String

+  HiLink luaString2		String

+  HiLink luaNumber		Number

+  HiLink luaFloat		Float

+  HiLink luaOperator		Operator

+  HiLink luaConstant		Constant

+  HiLink luaCond		Conditional

+  HiLink luaFunction		Function

+  HiLink luaComment		Comment

+  HiLink luaTodo		Todo

+  HiLink luaTable		Structure

+  HiLink luaError		Error

+  HiLink luaSpecial		SpecialChar

+  HiLink luaFunc		Identifier

+

+  delcommand HiLink

+endif

+

+let b:current_syntax = "lua"

+

+" vim: et ts=8

diff --git a/runtime/syntax/plaintex.vim b/runtime/syntax/plaintex.vim
index a930712..2e2bb31 100644
--- a/runtime/syntax/plaintex.vim
+++ b/runtime/syntax/plaintex.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         TeX (plain.tex format)
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-03-26
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -13,10 +13,10 @@
 syn match   plaintexControlSequence         display contains=@NoSpell
       \ '\\[a-zA-Z@]\+'
 
-runtime! syntax/coretex.vim
+runtime! syntax/initex.vim
 
 syn match   plaintexComment                 display
-      \ contains=ALLBUT,coretexComment,plaintexComment
+      \ contains=ALLBUT,initexComment,plaintexComment
       \ '^\s*%[CDM].*$'
 
 if exists("g:plaintex_delimiters")
@@ -59,12 +59,14 @@
 syn match   plaintexTablesCommand           display contains=@NoSpell
       \ '&\|\\+\|\\\%(cleartabs\|endline\|hidewidth\|ialign\|multispan\|settabs\|tabalign\)\>'
 
-syn region  plaintexMath                    matchgroup=plaintexMath
+if !exists("g:plaintex_no_math")
+  syn region  plaintexMath                  matchgroup=plaintexMath
       \ contains=@plaintexMath
       \ start='\$' skip='\\\\\|\\\$' end='\$'
-syn region  plaintexMath                    matchgroup=plaintexMath
+  syn region  plaintexMath                  matchgroup=plaintexMath
       \ contains=@plaintexMath keepend
       \ start='\$\$' skip='\\\\\|\\\$' end='\$\$'
+endif
 
 syn cluster plaintexMath
       \ contains=plaintexMathCommand,plaintexMathBoxCommand,
@@ -122,16 +124,16 @@
 hi def link plaintexInclude                 Include
 hi def link plaintexRepeat                  Repeat
 
-hi def link plaintexCommand                 coretexCommand
+hi def link plaintexCommand                 initexCommand
 hi def link plaintexBoxCommand              plaintexCommand
-hi def link plaintexCharacterCommand        coretexCharacterCommand
-hi def link plaintexDebuggingCommand        coretexDebuggingCommand
-hi def link plaintexFontsCommand            coretexFontsCommand
+hi def link plaintexCharacterCommand        initexCharacterCommand
+hi def link plaintexDebuggingCommand        initexDebuggingCommand
+hi def link plaintexFontsCommand            initexFontsCommand
 hi def link plaintexGlueCommand             plaintexCommand
 hi def link plaintexInsertsCommand          plaintexCommand
-hi def link plaintexJobCommand              coretexJobCommand
+hi def link plaintexJobCommand              initexJobCommand
 hi def link plaintexKernCommand             plaintexCommand
-hi def link plaintexMacroCommand            coretexMacroCommand
+hi def link plaintexMacroCommand            initexMacroCommand
 hi def link plaintexPageCommand             plaintexCommand
 hi def link plaintexParagraphCommand        plaintexCommand
 hi def link plaintexPenaltiesCommand        plaintexCommand
@@ -151,16 +153,15 @@
 hi def link plaintexMathPunctuation         plaintexCharacterCommand
 hi def link plaintexMathRelation            plaintexOperator
 
-hi def link plaintexParameterDimen          coretexParameterDimen
-hi def link plaintexMathParameterDimen      coretexMathParameterDimen
-hi def link plaintexParagraphParameterGlue  coretexParagraphParameterGlue
-hi def link plaintexFontParameterInteger    coretexFontParameterInteger
-hi def link plaintexJobParameterInteger     coretexJobParameterInteger
-hi def link plaintexPageParameterInteger    coretexPageParameterInteger
-hi def link plaintexPageParameterToken      coretexParameterToken
+hi def link plaintexParameterDimen          initexParameterDimen
+hi def link plaintexMathParameterDimen      initexMathParameterDimen
+hi def link plaintexParagraphParameterGlue  initexParagraphParameterGlue
+hi def link plaintexFontParameterInteger    initexFontParameterInteger
+hi def link plaintexJobParameterInteger     initexJobParameterInteger
+hi def link plaintexPageParameterInteger    initexPageParameterInteger
+hi def link plaintexPageParameterToken      initexParameterToken
 
 let b:current_syntax = "plaintex"
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
-
diff --git a/runtime/syntax/vim.vim b/runtime/syntax/vim.vim
index 5b8b32e..099d8e4 100644
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	Apr 18, 2006
-" Version:	7.0-44
+" Last Change:	April 19, 2006
+" Version:	7.0-45
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -55,7 +55,7 @@
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
+syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg settabwinvar setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
 
 "--- syntax above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1