summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorBram Moolenaar <Bram@vim.org>2006-04-14 20:42:25 +0000
committerBram Moolenaar <Bram@vim.org>2006-04-14 20:42:25 +0000
commit9e54a0e753578e10910a842d631cffde32d1f133 (patch)
tree493fbfc4e3c943016355f7fd131bd6eadf02fd0a
parent7fc904b610d5739dd7b72fb2f6b0e4b330c97179 (diff)
downloadvim-9e54a0e753578e10910a842d631cffde32d1f133.zip
updated for version 7.0d04
-rw-r--r--runtime/autoload/htmlcomplete.vim4062
-rw-r--r--runtime/autoload/netrw.vim84
-rw-r--r--runtime/autoload/xml/xhtml10s.vim7
-rw-r--r--runtime/colors/delek.vim86
-rw-r--r--runtime/colors/evening.vim6
-rw-r--r--runtime/colors/morning.vim6
-rw-r--r--runtime/doc/diff.txt5
-rw-r--r--runtime/doc/eval.txt7
-rw-r--r--runtime/doc/indent.txt16
-rw-r--r--runtime/doc/insert.txt5
-rw-r--r--runtime/doc/pi_netrw.txt4
-rw-r--r--runtime/doc/syntax.txt25
-rw-r--r--runtime/doc/tags2
-rw-r--r--runtime/doc/todo.txt51
-rw-r--r--runtime/doc/version7.txt16
-rw-r--r--runtime/ftplugin/ruby.vim1
-rw-r--r--runtime/indent/vhdl.vim52
-rw-r--r--runtime/syntax/html.vim138
-rw-r--r--runtime/syntax/idl.vim17
-rw-r--r--runtime/syntax/javascript.vim4
-rw-r--r--runtime/syntax/mma.vim92
-rw-r--r--runtime/syntax/netrw.vim (renamed from runtime/syntax/netrwlist.vim)0
-rw-r--r--runtime/syntax/nroff.vim6
-rw-r--r--src/diff.c61
-rw-r--r--src/edit.c22
-rw-r--r--src/eval.c8
-rw-r--r--src/gui_w48.c2
-rw-r--r--src/misc1.c219
-rw-r--r--src/search.c2
-rw-r--r--src/testdir/test3.in47
-rw-r--r--src/testdir/test3.ok43
-rw-r--r--src/version.h6
32 files changed, 677 insertions, 4425 deletions
diff --git a/runtime/autoload/htmlcomplete.vim b/runtime/autoload/htmlcomplete.vim
index a16d15577..61d2a09d9 100644
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -160,8 +160,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
unlet! b:entitiescompl
if !exists("g:xmldata_xhtml10s")
- "runtime! autoload/xml/xhtml10s.vim
- call htmlcomplete#LoadData()
+ runtime! autoload/xml/xhtml10s.vim
+ "call htmlcomplete#LoadData()
endif
let entities = g:xmldata_xhtml10s['vimxmlentities']
@@ -519,8 +519,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
" Load data {{{
if !exists("g:xmldata_xhtml10s")
- "runtime! autoload/xml/xhtml10s.vim
- call htmlcomplete#LoadData()
+ runtime! autoload/xml/xhtml10s.vim
+ "call htmlcomplete#LoadData()
endif
" }}}
"
@@ -570,8 +570,8 @@ function! htmlcomplete#CompleteTags(findstart, base)
endif
" Load data {{{
if !exists("g:xmldata_xhtml10s")
- "runtime! autoload/xml/xhtml10s.vim
- call htmlcomplete#LoadData()
+ runtime! autoload/xml/xhtml10s.vim
+ "call htmlcomplete#LoadData()
endif
" }}}
" Tag completion {{{
@@ -621,4054 +621,4 @@ function! htmlcomplete#CompleteTags(findstart, base)
" }}}
endif
endfunction
-" HTML context data
-function! htmlcomplete#LoadData() " {{{
-let g:xmldata_xhtml10s = {
-\ 'vimxmlentities' : ["AElig", "Aacute", "Acirc", "Agrave", "Alpha", "Aring", "Atilde", "Auml", "Beta", "Ccedil", "Chi", "Dagger", "Delta", "ETH", "Eacute", "Ecirc", "Egrave", "Epsilon", "Eta", "Euml", "Gamma", "Iacute", "Icirc", "Igrave", "Iota", "Iuml", "Kappa", "Lambda", "Mu", "Ntilde", "Nu", "OElig", "Oacute", "Ocirc", "Ograve", "Omega", "Omicron", "Oslash", "Otilde", "Ouml", "Phi", "Pi", "Prime", "Psi", "Rho", "Scaron", "Sigma", "THORN", "TITY", "Tau", "Theta", "Uacute", "Ucirc", "Ugrave", "Upsilon", "Uuml", "Xi", "Yacute", "Yuml", "Zeta", "amp", "aacute", "acirc", "acute", "aelig", "agrave", "alefsym", "alpha", "and", "ang", "apos", "aring", "asymp", "atilde", "auml", "bdquo", "beta", "brvbar", "bull", "cap", "ccedil", "cedil", "cent", "chi", "circ", "clubs", "copy", "cong", "crarr", "cup", "curren", "dArr", "dagger", "darr", "deg", "delta", "diams", "divide", "eacute", "ecirc", "egrave", "empty", "ensp", "emsp", "epsilon", "equiv", "eta", "eth", "euro", "euml", "exist", "fnof", "forall", "frac12", "frac14", "frac34", "frasl", "gt", "gamma", "ge", "hArr", "harr", "hearts", "hellip", "iacute", "icirc", "iexcl", "igrave", "image", "infin", "int", "iota", "iquest", "isin", "iuml", "kappa", "lt", "laquo", "lArr", "lambda", "lang", "larr", "lceil", "ldquo", "le", "lfloor", "lowast", "loz", "lrm", "lsaquo", "lsquo", "macr", "mdash", "micro", "middot", "minus", "mu", "nbsp", "nabla", "ndash", "ne", "ni", "not", "notin", "nsub", "ntilde", "nu", "oacute", "ocirc", "oelig", "ograve", "oline", "omega", "omicron", "oplus", "or", "ordf", "ordm", "oslash", "otilde", "otimes", "ouml", "para", "part", "permil", "perp", "phi", "pi", "piv", "plusmn", "pound", "prime", "prod", "prop", "psi", "quot", "rArr", "raquo", "radic", "rang", "rarr", "rceil", "rdquo", "real", "reg", "rfloor", "rho", "rlm", "rsaquo", "rsquo", "sbquo", "scaron", "sdot", "sect", "shy", "sigma", "sigmaf", "sim", "spades", "sub", "sube", "sum", "sup", "sup1", "sup2", "sup3", "supe", "szlig", "tau", "there4", "theta", "thetasym", "thinsp", "thorn", "tilde", "times", "trade", "uArr", "uacute", "uarr", "ucirc", "ugrave", "uml", "upsih", "upsilon", "uuml", "weierp", "xi", "yacute", "yen", "yuml", "zeta", "zwj", "zwnj"],
-\ 'vimxmlattrinfo' : {
-\ 'accept' : ['ContentType', ''],
-\ 'accesskey' : ['Character', ''],
-\ 'action' : ['*URI', ''],
-\ 'align' : ['String', ''],
-\ 'alt' : ['*Text', ''],
-\ 'archive' : ['UriList', ''],
-\ 'axis' : ['CDATA', ''],
-\ 'border' : ['Pixels', ''],
-\ 'cellpadding' : ['Length', ''],
-\ 'cellspacing' : ['Length', ''],
-\ 'char' : ['Character', ''],
-\ 'charoff' : ['Length', ''],
-\ 'charset' : ['LangCode', ''],
-\ 'checked' : ['Bool', ''],
-\ 'class' : ['CDATA', ''],
-\ 'codetype' : ['ContentType', ''],
-\ 'cols' : ['*Number', ''],
-\ 'colspan' : ['Number', ''],
-\ 'content' : ['*CDATA', ''],
-\ 'coords' : ['Coords', ''],
-\ 'data' : ['URI', ''],
-\ 'datetime' : ['DateTime', ''],
-\ 'declare' : ['Bool', ''],
-\ 'defer' : ['Bool', ''],
-\ 'dir' : ['String', ''],
-\ 'disabled' : ['Bool', ''],
-\ 'enctype' : ['ContentType', ''],
-\ 'for' : ['ID', ''],
-\ 'headers' : ['IDREFS', ''],
-\ 'height' : ['Number', ''],
-\ 'href' : ['*URI', ''],
-\ 'hreflang' : ['LangCode', ''],
-\ 'id' : ['ID', 'Unique string'],
-\ 'ismap' : ['Bool', ''],
-\ 'label' : ['*Text', ''],
-\ 'lang' : ['LangCode', ''],
-\ 'longdesc' : ['URI', ''],
-\ 'maxlength' : ['Number', ''],
-\ 'media' : ['MediaDesc', ''],
-\ 'method' : ['String', ''],
-\ 'multiple' : ['Bool', ''],
-\ 'name' : ['CDATA', ''],
-\ 'nohref' : ['Bool', ''],
-\ 'onblur' : ['Script', ''],
-\ 'onchange' : ['Script', ''],
-\ 'onclick' : ['Script', ''],
-\ 'ondblclick' : ['Script', ''],
-\ 'onfocus' : ['Script', ''],
-\ 'onkeydown' : ['Script', ''],
-\ 'onkeypress' : ['Script', ''],
-\ 'onkeyup' : ['Script', ''],
-\ 'onload' : ['Script', ''],
-\ 'onmousedown' : ['Script', ''],
-\ 'onmousemove' : ['Script', ''],
-\ 'onmouseout' : ['Script', ''],
-\ 'onmouseover' : ['Script', ''],
-\ 'onmouseup' : ['Script', ''],
-\ 'onreset' : ['Script', ''],
-\ 'onselect' : ['Script', ''],
-\ 'onsubmit' : ['Script', ''],
-\ 'onunload' : ['Script', ''],
-\ 'profile' : ['URI', ''],
-\ 'readonly' : ['Bool', ''],
-\ 'rel' : ['LinkTypes', ''],
-\ 'rev' : ['LinkTypes', ''],
-\ 'rows' : ['*Number', ''],
-\ 'rules' : ['String', ''],
-\ 'scheme' : ['CDATA', ''],
-\ 'selected' : ['Bool', ''],
-\ 'shape' : ['Shape', ''],
-\ 'size' : ['CDATA', ''],
-\ 'span' : ['Number', ''],
-\ 'src' : ['*URI', ''],
-\ 'standby' : ['Text', ''],
-\ 'style' : ['StyleSheet', ''],
-\ 'summary' : ['*Text', ''],
-\ 'tabindex' : ['Number', ''],
-\ 'title' : ['Text', ''],
-\ 'type' : ['*ContentType', ''],
-\ 'usemap' : ['URI', ''],
-\ 'valign' : ['String', ''],
-\ 'valuetype' : ['String', ''],
-\ 'width' : ['Number', ''],
-\ 'xmlns' : ['URI', '']
-\ },
-\ 'vimxmltaginfo' : {
-\ 'base' : ['/>', ''],
-\ 'meta' : ['/>', ''],
-\ 'link' : ['/>', ''],
-\ 'img' : ['/>', ''],
-\ 'hr' : ['/>', ''],
-\ 'br' : ['/>', ''],
-\ 'param' : ['/>', ''],
-\ 'area' : ['/>', ''],
-\ 'input' : ['/>', ''],
-\ 'col' : ['/>', '']
-\ },
-\ 'tr' : [
-\ [
-\ 'th',
-\ 'td'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'input' : [[],
-\ {
-\ 'ondblclick' : [],
-\ 'onchange' : [],
-\ 'readonly' : [
-\ 'BOOL'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'src' : [],
-\ 'value' : [],
-\ 'name' : [],
-\ 'checked' : [
-\ 'BOOL'
-\ ],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'type' : [
-\ 'text',
-\ 'password',
-\ 'checkbox',
-\ 'radio',
-\ 'submit',
-\ 'reset',
-\ 'file',
-\ 'hidden',
-\ 'image',
-\ 'button'
-\ ],
-\ 'accesskey' : [],
-\ 'disabled' : [
-\ 'BOOL'
-\ ],
-\ 'usemap' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'size' : [],
-\ 'onblur' : [],
-\ 'onfocus' : [],
-\ 'maxlength' : [],
-\ 'onselect' : [],
-\ 'accept' : [],
-\ 'alt' : [],
-\ 'tabindex' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'xml:lang' : []
-\ }
-\ ],
-\ 'table' : [
-\ [
-\ 'caption',
-\ 'col',
-\ 'colgroup',
-\ 'thead',
-\ 'tfoot',
-\ 'tbody',
-\ 'tr'
-\ ],
-\ {
-\ 'width' : [],
-\ 'frame' : [
-\ 'void',
-\ 'above',
-\ 'below',
-\ 'hsides',
-\ 'lhs',
-\ 'rhs',
-\ 'vsides',
-\ 'box',
-\ 'border'
-\ ],
-\ 'ondblclick' : [],
-\ 'rules' : [
-\ 'none',
-\ 'groups',
-\ 'rows',
-\ 'cols',
-\ 'all'
-\ ],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'summary' : [],
-\ 'onkeyup' : [],
-\ 'cellspacing' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'border' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'cellpadding' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'form' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onsubmit' : [],
-\ 'enctype' : [
-\ '',
-\ 'application/x-www-form-urlencoded',
-\ ],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onreset' : [],
-\ 'onmouseup' : [],
-\ 'method' : [
-\ 'get',
-\ 'post'
-\ ],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'accept' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'accept-charset' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'action' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'h5' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'meta' : [[],
-\ {
-\ 'http-equiv' : [],
-\ 'lang' : [],
-\ 'name' : [],
-\ 'scheme' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'map' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript',
-\ 'area'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'name' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'style' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'title' : [],
-\ 'onclick' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'tfoot' : [
-\ [
-\ 'tr'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'caption' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'code' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'base' : [[],
-\ {
-\ 'href' : []
-\ }
-\ ],
-\ 'br' : [[],
-\ {
-\ 'style' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'id' : []
-\ }
-\ ],
-\ 'acronym' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'strong' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'h4' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'em' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'b' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'q' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : [],
-\ 'cite' : []
-\ }
-\ ],
-\ 'span' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'title' : [
-\ {
-\ 'lang' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'small' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'area' : [[],
-\ {
-\ 'accesskey' : [],
-\ 'coords' : [],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onfocus' : [],
-\ 'nohref' : [
-\ 'BOOL'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'href' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'alt' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'shape' : [
-\ 'rect',
-\ 'circle',
-\ 'poly',
-\ 'default'
-\ ]
-\ }
-\ ],
-\ 'body' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onunload' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onload' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'ol' : [
-\ [
-\ 'li'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'html' : [
-\ [
-\ 'head',
-\ 'body'
-\ ],
-\ {
-\ 'xmlns' : [
-\ 'http://www.w3.org/1999/xhtml',
-\ ],
-\ 'lang' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'var' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'ul' : [
-\ [
-\ 'li'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'del' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'datetime' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'cite' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'blockquote' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : [],
-\ 'cite' : []
-\ }
-\ ],
-\ 'style' : [[],
-\ {
-\ 'lang' : [],
-\ 'media' : [],
-\ 'title' : [],
-\ 'type' : [],
-\ 'xml:space' : [
-\ 'preserve'
-\ ],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'dfn' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'h3' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'textarea' : [[],
-\ {
-\ 'accesskey' : [],
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'rows' : [],
-\ 'onblur' : [],
-\ 'cols' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onchange' : [],
-\ 'onfocus' : [],
-\ 'readonly' : [
-\ 'BOOL'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onselect' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'name' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'a' : [
-\ [
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'accesskey' : [],
-\ 'rel' : [],
-\ 'coords' : [],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onfocus' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'href' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'name' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'charset' : [],
-\ 'hreflang' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'rev' : [],
-\ 'shape' : [
-\ 'rect',
-\ 'circle',
-\ 'poly',
-\ 'default'
-\ ],
-\ 'type' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'img' : [[],
-\ {
-\ 'width' : [],
-\ 'ismap' : [
-\ 'BOOL'
-\ ],
-\ 'usemap' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'alt' : [],
-\ 'longdesc' : [],
-\ 'src' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'height' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'tt' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'thead' : [
-\ [
-\ 'tr'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'abbr' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'h6' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'sup' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'address' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'param' : [[],
-\ {
-\ 'value' : [],
-\ 'name' : [],
-\ 'type' : [],
-\ 'valuetype' : [
-\ 'data',
-\ 'ref',
-\ 'object'
-\ ],
-\ 'id' : []
-\ }
-\ ],
-\ 'th' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'headers' : [],
-\ 'ondblclick' : [],
-\ 'axis' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'abbr' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'h1' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'head' : [
-\ [
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'title',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'base',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'base',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object',
-\ 'title',
-\ 'script',
-\ 'style',
-\ 'meta',
-\ 'link',
-\ 'object'
-\ ],
-\ {
-\ 'profile' : [],
-\ 'lang' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ]
-\ }
-\ ],
-\ 'tbody' : [
-\ [
-\ 'tr'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'legend' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'accesskey' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'dd' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'hr' : [[],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'li' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'td' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'headers' : [],
-\ 'ondblclick' : [],
-\ 'axis' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'abbr' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'label' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'for' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'dl' : [
-\ [
-\ 'dt',
-\ 'dd'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'kbd' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'div' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'object' : [
-\ [
-\ 'param',
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'width' : [],
-\ 'usemap' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'standby' : [],
-\ 'archive' : [],
-\ 'lang' : [],
-\ 'classid' : [],
-\ 'name' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'data' : [],
-\ 'height' : [],
-\ 'xml:lang' : [],
-\ 'codetype' : [],
-\ 'declare' : [
-\ 'BOOL'
-\ ],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'type' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'codebase' : []
-\ }
-\ ],
-\ 'dt' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'pre' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'xml:space' : [
-\ 'preserve'
-\ ],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'samp' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'col' : [[],
-\ {
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'value' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'label' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'selected' : [
-\ 'BOOL'
-\ ]
-\ }
-\ ],
-\ 'cite' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'i' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'select' : [
-\ [
-\ 'optgroup',
-\ 'option'
-\ ],
-\ {
-\ 'disabled' : [
-\ 'BOOL'
-\ ],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'size' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onchange' : [],
-\ 'onfocus' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'name' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'multiple' : [
-\ 'multiple'
-\ ],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'link' : [[],
-\ {
-\ 'rel' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'media' : [],
-\ 'href' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'charset' : [],
-\ 'hreflang' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'rev' : [],
-\ 'type' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'script' : [[],
-\ {
-\ 'defer' : [
-\ 'BOOL'
-\ ],
-\ 'src' : [],
-\ 'type' : [],
-\ 'charset' : [],
-\ 'xml:space' : [
-\ 'preserve'
-\ ]
-\ }
-\ ],
-\ 'bdo' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'colgroup' : [
-\ [
-\ 'col'
-\ ],
-\ {
-\ 'width' : [],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'charoff' : [],
-\ 'onmouseover' : [],
-\ 'align' : [
-\ 'left',
-\ 'center',
-\ 'right',
-\ 'justify',
-\ 'char'
-\ ],
-\ 'lang' : [],
-\ 'valign' : [
-\ 'top',
-\ 'middle',
-\ 'bottom',
-\ 'baseline'
-\ ],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'char' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : [],
-\ 'span' : [
-\ '',
-\ '1',
-\ ]
-\ }
-\ ],
-\ 'h2' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'ins' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'ondblclick' : [],
-\ 'datetime' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'cite' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'p' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'sub' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'big' : [
-\ [
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'fieldset' : [
-\ [
-\ 'legend',
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'a',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'input',
-\ 'select',
-\ 'textarea',
-\ 'label',
-\ 'button',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'noscript' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'fieldset',
-\ 'table',
-\ 'form',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'onmouseout' : [],
-\ 'onmousemove' : [],
-\ 'style' : [],
-\ 'ondblclick' : [],
-\ 'xml:lang' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onkeypress' : [],
-\ 'onmousedown' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'class' : [],
-\ 'title' : [],
-\ 'onclick' : []
-\ }
-\ ],
-\ 'button' : [
-\ [
-\ 'p',
-\ 'h1',
-\ 'h2',
-\ 'h3',
-\ 'h4',
-\ 'h5',
-\ 'h6',
-\ 'div',
-\ 'ul',
-\ 'ol',
-\ 'dl',
-\ 'pre',
-\ 'hr',
-\ 'blockquote',
-\ 'address',
-\ 'table',
-\ 'br',
-\ 'span',
-\ 'bdo',
-\ 'object',
-\ 'img',
-\ 'map',
-\ 'tt',
-\ 'i',
-\ 'b',
-\ 'big',
-\ 'small',
-\ 'em',
-\ 'strong',
-\ 'dfn',
-\ 'code',
-\ 'q',
-\ 'sub',
-\ 'sup',
-\ 'samp',
-\ 'kbd',
-\ 'var',
-\ 'cite',
-\ 'abbr',
-\ 'acronym',
-\ 'ins',
-\ 'del',
-\ 'script',
-\ 'noscript'
-\ ],
-\ {
-\ 'accesskey' : [],
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'onblur' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onfocus' : [],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'tabindex' : [],
-\ 'lang' : [],
-\ 'value' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'name' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'type' : [
-\ 'button',
-\ 'submit',
-\ 'reset'
-\ ],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ],
-\ 'optgroup' : [
-\ [
-\ 'option'
-\ ],
-\ {
-\ 'disabled' : [
-\ 'disabled'
-\ ],
-\ 'ondblclick' : [],
-\ 'dir' : [
-\ 'ltr',
-\ 'rtl'
-\ ],
-\ 'onkeydown' : [],
-\ 'onkeyup' : [],
-\ 'onmouseup' : [],
-\ 'id' : [],
-\ 'onmouseover' : [],
-\ 'lang' : [],
-\ 'style' : [],
-\ 'onmousemove' : [],
-\ 'onmouseout' : [],
-\ 'xml:lang' : [],
-\ 'onmousedown' : [],
-\ 'onkeypress' : [],
-\ 'label' : [],
-\ 'onclick' : [],
-\ 'title' : [],
-\ 'class' : []
-\ }
-\ ]
-\ }
-endfunction
-" }}}
" vim:set foldmethod=marker:
diff --git a/runtime/autoload/netrw.vim b/runtime/autoload/netrw.vim
index 1a865fabe..79abec594 100644
--- a/runtime/autoload/netrw.vim
+++ b/runtime/autoload/netrw.vim
@@ -1,7 +1,7 @@
" netrw.vim: Handles file transfer and remote directory listing across a network
" AUTOLOAD PORTION
-" Date: Apr 12, 2006
-" Version: 87
+" Date: Apr 14, 2006
+" Version: 88
" Maintainer: Charles E Campbell, Jr <drchipNOSPAM at campbellfamily dot biz>
" GetLatestVimScripts: 1075 1 :AutoInstall: netrw.vim
" Copyright: Copyright (C) 1999-2005 Charles E. Campbell, Jr. {{{1
@@ -23,7 +23,7 @@
if &cp || exists("g:loaded_netrw")
finish
endif
-let g:loaded_netrw = "v87"
+let g:loaded_netrw = "v88"
if v:version < 700
echohl WarningMsg | echo "***netrw*** you need vim version 7.0 or later for version ".g:loaded_netrw." of netrw" | echohl None
finish
@@ -929,7 +929,7 @@ fun! netrw#NetWrite(...) range
".........................................
" ftp + <.netrc>: NetWrite Method #2 {{{3
elseif b:netrw_method == 2
- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
+ let netrw_fname= b:netrw_fname
new
setlocal ff=unix
exe "put ='".g:netrw_ftpmode."'"
@@ -957,7 +957,7 @@ fun! netrw#NetWrite(...) range
".........................................
" ftp + machine, id, passwd, filename: NetWrite Method #3 {{{3
elseif b:netrw_method == 3
- let netrw_fname= escape(b:netrw_fname,g:netrw_fname_escape)
+ let netrw_fname= b:netrw_fname
new
setlocal ff=unix
if exists("g:netrw_port") && g:netrw_port != ""
@@ -1408,7 +1408,7 @@ fun! s:NetBrowse(dirname)
" set up syntax highlighting
if has("syntax")
- setlocal ft=netrwlist
+ setlocal ft=netrw
if !exists("g:syntax_on") || !g:syntax_on
setlocal ft=
" Ugly workaround -- when syntax highlighting is off and laststatus==2,
@@ -1923,8 +1923,8 @@ endfun
" This function assumes that a long listing will be received. Size, time,
" and reverse sorts will be requested of the server but not otherwise
" enforced here.
-fun! s:NetBrowseFtpCmd(path,cmd)
-" call Dfunc("NetBrowseFtpCmd(path<".a:path."> cmd<".a:cmd.">) netrw_method=".w:netrw_method)
+fun! s:NetBrowseFtpCmd(path,listcmd)
+" call Dfunc("NetBrowseFtpCmd(path<".a:path."> listcmd<".a:listcmd.">) netrw_method=".w:netrw_method)
" because WinXX ftp uses unix style input
" curline is one more than the bannercnt in order to account
@@ -1942,7 +1942,7 @@ fun! s:NetBrowseFtpCmd(path,cmd)
put ='cd \"'.a:path.'\"'
" call Decho('ftp: '.getline("."))
endif
- exe "put ='".a:cmd."'"
+ exe "put ='".a:listcmd."'"
" call Decho("ftp: ".getline("."))
" redraw!|call inputsave()|call input("Pausing...")|call inputrestore()
if exists("g:netrw_port") && g:netrw_port != ""
@@ -1973,7 +1973,7 @@ fun! s:NetBrowseFtpCmd(path,cmd)
if a:path != ""
put ='cd \"'.a:path.'\"'
endif
- exe "put ='".a:cmd."'"
+ exe "put ='".a:listcmd."'"
" perform ftp:
" -i : turns off interactive prompting from ftp
@@ -1991,7 +1991,7 @@ fun! s:NetBrowseFtpCmd(path,cmd)
if has("win32") || has("win95") || has("win64") || has("win16")
silent! keepjumps! %s/\r$//e
endif
- if a:cmd == "dir"
+ if a:listcmd == "dir"
" infer directory/link based on the file permission string
silent! keepjumps g/d\%([-r][-w][-x]\)\{3}/s@$@/@
silent! keepjumps g/l\%([-r][-w][-x]\)\{3}/s/$/@/
@@ -2137,9 +2137,9 @@ endfun
" ---------------------------------------------------------------------
" NetrwWideListing: {{{2
fun! s:NetrwWideListing()
-" call Dfunc("NetrwWideListing() w:netrw_longlist=".w:netrw_longlist)
if w:netrw_longlist == 2
+" call Dfunc("NetrwWideListing() w:netrw_longlist=".w:netrw_longlist)
" look for longest filename (cpf=characters per filename)
" cpf: characters per file
" fpl: files per line
@@ -2182,9 +2182,9 @@ fun! s:NetrwWideListing()
endwhile
exe "silent keepjumps ".w:netrw_bannercnt.',$s/\s\+$//e'
setlocal noma nomod
+" call Dret("NetrwWideListing")
endif
-" call Dret("NetrwWideListing")
endfun
" ---------------------------------------------------------------------
@@ -2650,6 +2650,10 @@ endfun
" NetMenu: generates the menu for gvim and netrw {{{2
fun! s:NetMenu(domenu)
+ if !exists("g:NetrwMenuPriority")
+ let g:NetrwMenuPriority= 80
+ endif
+
if has("menu") && has("gui_running") && &go =~ 'm'
" call Dfunc("NetMenu(domenu=".a:domenu.")")
if !exists("s:netrw_menu_enabled") && a:domenu
@@ -2658,32 +2662,32 @@ fun! s:NetMenu(domenu)
if !exists("g:NetrwTopLvlMenu")
let g:NetrwTopLvlMenu= "Netrw."
endif
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x x'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>b Nb'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>- -'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>B NB'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u u'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U U'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr> '."\<cr>"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o o'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v v'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q q'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i i'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d d'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a a'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O O'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p p'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P P'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R R'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r r"
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s s'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S S'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
- exe 'silent! menu '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Help<tab><F1> <F1>'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Apply\ Special\ Viewer<tab>x x'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Bookmark\ Current\ Directory<tab>b Nb'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Go\ Up\ Directory<tab>- -'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Goto\ Bookmarked\ Directory<tab>B NB'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Change\ To\ Recently\ Used\ Directory<tab>u u'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Change\ To\ Subsequently\ Used\ Directory<tab>U U'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Delete\ File/Directory<tab>D D'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File\ Hiding\ List<tab>'."<ctrl-h> \<c-h>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory<tab><cr> '."\<cr>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Window<tab>o o'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Edit\ File/Directory,\ New\ Vertical\ Window<tab>v v'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'List\ Bookmarks\ and\ History<tab>q q'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Listing\ Style\ (thin-long-wide)<tab>i i'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Make\ Subdirectory<tab>d d'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Normal-Hide-Show<tab>a a'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Obtain\ File<tab>O O'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Preview\ File/Directory<tab>p p'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Previous\ Window\ Browser<tab>P P'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Refresh\ Listing<tab>'."<ctrl-l> \<c-l>"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Rename\ File/Directory<tab>R R'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Reverse\ Sorting\ Order<tab>'."r r"
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Select\ Sorting\ Style<tab>s s'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Sorting\ Sequence\ Edit<tab>S S'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Set\ Current\ Directory<tab>c c'
+ exe 'silent! '.g:NetrwMenuPriority.'menu '.g:NetrwTopLvlMenu.'Settings/Options<tab>:NetrwSettings '.":NetrwSettings\<cr>"
elseif !a:domenu
let s:netrwcnt = 0
let curwin = winnr()
@@ -2972,7 +2976,7 @@ fun! netrw#DirBrowse(dirname)
" set up syntax highlighting
if has("syntax")
- setlocal ft=netrwlist
+ setlocal ft=netrw
if !exists("g:syntax_on") || !g:syntax_on
setlocal ft=
endif
diff --git a/runtime/autoload/xml/xhtml10s.vim b/runtime/autoload/xml/xhtml10s.vim
index 503201380..1d15cef15 100644
--- a/runtime/autoload/xml/xhtml10s.vim
+++ b/runtime/autoload/xml/xhtml10s.vim
@@ -1,3 +1,5 @@
+" HTML context data
+"function! htmlcomplete#LoadData() " {{{
let g:xmldata_xhtml10s = {
\ 'vimxmlentities' : ["AElig", "Aacute", "Acirc", "Agrave", "Alpha", "Aring", "Atilde", "Auml", "Beta", "Ccedil", "Chi", "Dagger", "Delta", "ETH", "Eacute", "Ecirc", "Egrave", "Epsilon", "Eta", "Euml", "Gamma", "Iacute", "Icirc", "Igrave", "Iota", "Iuml", "Kappa", "Lambda", "Mu", "Ntilde", "Nu", "OElig", "Oacute", "Ocirc", "Ograve", "Omega", "Omicron", "Oslash", "Otilde", "Ouml", "Phi", "Pi", "Prime", "Psi", "Rho", "Scaron", "Sigma", "THORN", "TITY", "Tau", "Theta", "Uacute", "Ucirc", "Ugrave", "Upsilon", "Uuml", "Xi", "Yacute", "Yuml", "Zeta", "amp", "aacute", "acirc", "acute", "aelig", "agrave", "alefsym", "alpha", "and", "ang", "apos", "aring", "asymp", "atilde", "auml", "bdquo", "beta", "brvbar", "bull", "cap", "ccedil", "cedil", "cent", "chi", "circ", "clubs", "copy", "cong", "crarr", "cup", "curren", "dArr", "dagger", "darr", "deg", "delta", "diams", "divide", "eacute", "ecirc", "egrave", "empty", "ensp", "emsp", "epsilon", "equiv", "eta", "eth", "euro", "euml", "exist", "fnof", "forall", "frac12", "frac14", "frac34", "frasl", "gt", "gamma", "ge", "hArr", "harr", "hearts", "hellip", "iacute", "icirc", "iexcl", "igrave", "image", "infin", "int", "iota", "iquest", "isin", "iuml", "kappa", "lt", "laquo", "lArr", "lambda", "lang", "larr", "lceil", "ldquo", "le", "lfloor", "lowast", "loz", "lrm", "lsaquo", "lsquo", "macr", "mdash", "micro", "middot", "minus", "mu", "nbsp", "nabla", "ndash", "ne", "ni", "not", "notin", "nsub", "ntilde", "nu", "oacute", "ocirc", "oelig", "ograve", "oline", "omega", "omicron", "oplus", "or", "ordf", "ordm", "oslash", "otilde", "otimes", "ouml", "para", "part", "permil", "perp", "phi", "pi", "piv", "plusmn", "pound", "prime", "prod", "prop", "psi", "quot", "rArr", "raquo", "radic", "rang", "rarr", "rceil", "rdquo", "real", "reg", "rfloor", "rho", "rlm", "rsaquo", "rsquo", "sbquo", "scaron", "sdot", "sect", "shy", "sigma", "sigmaf", "sim", "spades", "sub", "sube", "sum", "sup", "sup1", "sup2", "sup3", "supe", "szlig", "tau", "there4", "theta", "thetasym", "thinsp", "thorn", "tilde", "times", "trade", "uArr", "uacute", "uarr", "ucirc", "ugrave", "uml", "upsih", "upsilon", "uuml", "weierp", "xi", "yacute", "yen", "yuml", "zeta", "zwj", "zwnj"],
\ 'vimxmlattrinfo' : {
@@ -15,7 +17,7 @@ let g:xmldata_xhtml10s = {
\ 'charoff' : ['Length', ''],
\ 'charset' : ['LangCode', ''],
\ 'checked' : ['Bool', ''],
-\ 'class' : ['CDATA', 'Name of class, used for connecting element with style'],
+\ 'class' : ['CDATA', ''],
\ 'codetype' : ['ContentType', ''],
\ 'cols' : ['*Number', ''],
\ 'colspan' : ['Number', ''],
@@ -4044,3 +4046,6 @@ let g:xmldata_xhtml10s = {
\ }
\ ]
\ }
+"endfunction
+" }}}
+" vim:set foldmethod=marker:
diff --git a/runtime/colors/delek.vim b/runtime/colors/delek.vim
index ac7065095..6812b9093 100644
--- a/runtime/colors/delek.vim
+++ b/runtime/colors/delek.vim
@@ -1,57 +1,51 @@
" Vim color file
" Maintainer: David Schweikert <dws@ee.ethz.ch>
-" Last Change: 2004 May 16
+" Last Change: 2006 Apr 14
-" First remove all existing highlighting.
hi clear
let colors_name = "delek"
-hi Normal guifg=Black guibg=white
-
-" Groups used in the 'highlight' and 'guicursor' options default value.
-hi ErrorMsg term=standout ctermbg=DarkRed ctermfg=White guibg=Red guifg=White
-hi IncSearch term=reverse cterm=reverse gui=reverse
-hi ModeMsg term=bold cterm=bold gui=bold
-hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
-hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
-hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
-hi Cursor guibg=Green guifg=NONE
-hi lCursor guibg=Cyan guifg=NONE
-hi Directory term=bold ctermfg=DarkBlue guifg=Blue
-hi LineNr term=underline ctermfg=Brown guifg=Brown
-hi MoreMsg term=bold ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Question term=standout ctermfg=DarkGreen gui=bold guifg=SeaGreen
-hi Search term=reverse ctermbg=Yellow ctermfg=NONE guibg=Yellow guifg=NONE
-hi SpecialKey term=bold ctermfg=DarkBlue guifg=Blue
-hi Title term=bold ctermfg=DarkMagenta gui=bold guifg=Magenta
-hi WarningMsg term=standout ctermfg=DarkRed guifg=Red
-hi WildMenu term=standout ctermbg=Yellow ctermfg=Black guibg=Yellow guifg=Black
-hi Folded term=standout ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
-hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkBlue
-hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
-hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
-hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
-
-hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
-hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
-hi NonText term=bold ctermfg=Blue gui=bold guifg=gray guibg=white
-hi Cursor guibg=fg guifg=bg
+" Normal should come first
+hi Normal guifg=Black guibg=White
+hi Cursor guifg=bg guibg=fg
+hi lCursor guifg=NONE guibg=Cyan
+
+" Note: we never set 'term' because the defaults for B&W terminals are OK
+hi DiffAdd ctermbg=LightBlue guibg=LightBlue
+hi DiffChange ctermbg=LightMagenta guibg=LightMagenta
+hi DiffDelete ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
+hi DiffText ctermbg=Red cterm=bold gui=bold guibg=Red
+hi Directory ctermfg=DarkBlue guifg=Blue
+hi ErrorMsg ctermfg=White ctermbg=DarkRed guibg=Red guifg=White
+hi FoldColumn ctermfg=DarkBlue ctermbg=Grey guibg=Grey guifg=DarkBlue
+hi Folded ctermbg=Grey ctermfg=DarkBlue guibg=LightGrey guifg=DarkBlue
+hi IncSearch cterm=reverse gui=reverse
+hi LineNr ctermfg=Brown guifg=Brown
+hi ModeMsg cterm=bold gui=bold
+hi MoreMsg ctermfg=DarkGreen gui=bold guifg=SeaGreen
+hi NonText ctermfg=Blue gui=bold guifg=gray guibg=white
+hi Pmenu guibg=LightBlue
+hi PmenuSel ctermfg=White ctermbg=DarkBlue guifg=White guibg=DarkBlue
+hi Question ctermfg=DarkGreen gui=bold guifg=SeaGreen
+hi Search ctermfg=NONE ctermbg=Yellow guibg=Yellow guifg=NONE
+hi SpecialKey ctermfg=DarkBlue guifg=Blue
+hi StatusLine cterm=bold ctermbg=blue ctermfg=yellow guibg=gold guifg=blue
+hi StatusLineNC cterm=bold ctermbg=blue ctermfg=black guibg=gold guifg=blue
+hi Title ctermfg=DarkMagenta gui=bold guifg=Magenta
+hi VertSplit cterm=reverse gui=reverse
+hi Visual ctermbg=NONE cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi VisualNOS cterm=underline,bold gui=underline,bold
+hi WarningMsg ctermfg=DarkRed guifg=Red
+hi WildMenu ctermfg=Black ctermbg=Yellow guibg=Yellow guifg=Black
" syntax highlighting
-hi PreProc term=underline cterm=NONE ctermfg=darkmagenta gui=NONE guifg=magenta3
-hi Identifier term=underline cterm=NONE ctermfg=darkcyan gui=NONE guifg=cyan4
-hi Comment term=NONE cterm=NONE ctermfg=darkred gui=NONE guifg=red2
-hi Constant term=underline cterm=NONE ctermfg=darkgreen gui=NONE guifg=green3
-hi Special term=bold cterm=NONE ctermfg=lightred gui=NONE guifg=deeppink
-hi Statement term=bold cterm=bold ctermfg=blue gui=bold guifg=blue
-hi Type term=underline cterm=NONE ctermfg=blue gui=bold guifg=blue
-
-if exists("syntax_on")
- let syntax_cmd = "enable"
- runtime syntax/syncolor.vim
- unlet syntax_cmd
-endif
+hi Comment cterm=NONE ctermfg=DarkRed gui=NONE guifg=red2
+hi Constant cterm=NONE ctermfg=DarkGreen gui=NONE guifg=green3
+hi Identifier cterm=NONE ctermfg=DarkCyan gui=NONE guifg=cyan4
+hi PreProc cterm=NONE ctermfg=DarkMagenta gui=NONE guifg=magenta3
+hi Special cterm=NONE ctermfg=LightRed gui=NONE guifg=deeppink
+hi Statement cterm=bold ctermfg=Blue gui=bold guifg=blue
+hi Type cterm=NONE ctermfg=Blue gui=bold guifg=blue
" vim: sw=2
diff --git a/runtime/colors/evening.vim b/runtime/colors/evening.vim
index e72f00d5d..298fd2481 100644
--- a/runtime/colors/evening.vim
+++ b/runtime/colors/evening.vim
@@ -1,6 +1,6 @@
" Vim color file
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2001 May 21
+" Last Change: 2006 Apr 14
" This color scheme uses a dark grey background.
@@ -22,7 +22,7 @@ hi ModeMsg term=bold cterm=bold gui=bold
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi Visual term=reverse ctermbg=black guibg=grey60
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor guibg=Green guifg=Black
@@ -42,6 +42,8 @@ hi FoldColumn term=standout ctermbg=LightGrey ctermfg=DarkBlue guibg=Grey guifg=
hi DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue
hi DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan
+hi CursorColumn term=reverse ctermbg=Black guibg=grey40
+hi CursorLine term=underline cterm=underline guibg=grey40
" Groups for syntax highlighting
hi Constant term=underline ctermfg=Magenta guifg=#ffa0a0 guibg=grey5
diff --git a/runtime/colors/morning.vim b/runtime/colors/morning.vim
index bcdaa1d17..5b175877f 100644
--- a/runtime/colors/morning.vim
+++ b/runtime/colors/morning.vim
@@ -1,6 +1,6 @@
" Vim color file
" Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2001 May 21
+" Last Change: 2006 Apr 14
" This color scheme uses a light grey background.
@@ -22,7 +22,7 @@ hi ModeMsg term=bold cterm=bold gui=bold
hi StatusLine term=reverse,bold cterm=reverse,bold gui=reverse,bold
hi StatusLineNC term=reverse cterm=reverse gui=reverse
hi VertSplit term=reverse cterm=reverse gui=reverse
-hi Visual term=reverse cterm=reverse gui=reverse guifg=Grey guibg=fg
+hi Visual term=reverse ctermbg=grey guibg=grey90
hi VisualNOS term=underline,bold cterm=underline,bold gui=underline,bold
hi DiffText term=reverse cterm=bold ctermbg=Red gui=bold guibg=Red
hi Cursor guibg=Green guifg=NONE
@@ -42,6 +42,8 @@ hi FoldColumn term=standout ctermbg=Grey ctermfg=DarkBlue guibg=Grey guifg=DarkB
hi DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue
hi DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta
hi DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan
+hi CursorLine term=underline cterm=underline guibg=grey80
+hi CursorColumn term=reverse ctermbg=grey guibg=grey80
" Colors for syntax highlighting
hi Constant term=underline ctermfg=DarkRed guifg=Magenta guibg=grey95
diff --git a/runtime/doc/diff.txt b/runtime/doc/diff.txt
index d3466bfe4..49cdf1c55 100644
--- a/runtime/doc/diff.txt
+++ b/runtime/doc/diff.txt
@@ -1,4 +1,4 @@
-*diff.txt* For Vim version 7.0d. Last change: 2006 Apr 04
+*diff.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -206,7 +206,8 @@ The diffs are highlighted with these groups:
(searching from the end of the line). The
text in between is highlighted. This means
that parts in the middle that are still the
- same are highlighted anyway.
+ same are highlighted anyway. Only "iwhite" of
+ 'diffopt' is used here.
|hl-DiffDelete| DiffDelete Deleted lines. Also called filler lines,
because they don't really exist in this
buffer.
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 6b8c469de..b69fa3642 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt* For Vim version 7.0d. Last change: 2006 Apr 09
+*eval.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -198,6 +198,11 @@ available. >
:let shortlist = mylist[2:2] " List with one item: [3]
:let otherlist = mylist[:] " make a copy of the List
+If the second index is equal to or greater than the length of the list there
+is no error and the length minus one is used: >
+ :let mylist = [0, 1, 2, 3]
+ :echo mylist[2:8] " result: [2, 3]
+
The second index can be just before the first index. In that case the result
is an empty list. If the second index is lower, this results in an error. >
:echo mylist[2:1] " result: []
diff --git a/runtime/doc/indent.txt b/runtime/doc/indent.txt
index 7f0891d1f..7d83b7b91 100644
--- a/runtime/doc/indent.txt
+++ b/runtime/doc/indent.txt
@@ -1,4 +1,4 @@
-*indent.txt* For Vim version 7.0d. Last change: 2006 Mar 29
+*indent.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -33,7 +33,9 @@ There are in fact four methods available for indentation:
The rest of this section describes the 'cindent' option.
Note that 'cindent' indenting does not work for every code scenario. Vim
-is not a C compiler: it does not recognize all syntax.
+is not a C compiler: it does not recognize all syntax. One requirement is
+that toplevel functions have a '{' in the first column. Otherwise they are
+easily confused with declarations.
These four options control C program indenting:
'cindent' Enables Vim to perform C program indenting automatically.
@@ -404,6 +406,16 @@ assume a 'shiftwidth' of 4.
) )
foo; foo;
<
+ MN When N is non-zero, line up a line starting with a closing
+ parentheses with the first character of the previous line.
+ (default 0).
+
+ cino= cino=M1 >
+ if (cond1 && if (cond1 &&
+ cond2 cond2
+ ) )
+ foo; foo;
+<
*java-cinoptions* *java-indenting*
jN Indent java anonymous classes correctly. The value 'N' is
currently unused but must be non-zero (e.g. 'j1'). 'j1' will
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index ae47469f2..d8be3381a 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt* For Vim version 7.0d. Last change: 2006 Apr 11
+*insert.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -602,6 +602,9 @@ accept the currently selected entry. The CTRL-Y is not inserted. Typing a
space, Enter, or some other unprintable character will leave completion mode
and insert that typed character.
+When the popup menu is displayed there are a few more special keys, see
+|popupmenu-keys|.
+
Note: The keys that are valid in CTRL-X mode are not mapped. This allows for
":map ^F ^X^F" to work (where ^F is CTRL-F and ^X is CTRL-X). The key that
ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index 092704975..a02724de9 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1447,6 +1447,10 @@ which is loaded automatically at startup (assuming :set nocp).
==============================================================================
11. History *netrw-history* {{{1
+ v88: * moved DrChip.Netrw menu to Netrw. Now has priority 80 by
+ default. g:NetrwTopLvlMenu == "Netrw" and can be changed
+ by the user to suit. The priority is g:NetrwMenuPriority.
+ * Changed filetype for browser displays from netrwlist to netrw.
v87: * bug fix -- menus were partially disappearing
v85: * bug fix -- missing an endif
* bug fix -- handles spaces in names and directories when using
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index 8c0b79c9b..d69b1bdb1 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt* For Vim version 7.0d. Last change: 2006 Apr 06
+*syntax.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -1349,6 +1349,29 @@ Inform development environment, you may with to add this to your
startup sequence: >
:let inform_highlight_old=1
+IDL *idl.vim* *idl-syntax*
+
+IDL (Interface Definition Language) files are used to define RPC calls. In
+Microsoft land, this is also used for defining COM interfaces and calls.
+
+IDL's structure is simple enough to permit a full grammar based approach to
+rather than using a few heuristics. The result is large and somewhat
+repetative but seems to work.
+
+There are some Microsoft extensions to idl files that are here. Some of them
+are disabled by defining idl_no_ms_extensions.
+
+The more complex of the extensions are disabled by defining idl_no_extensions.
+
+Variable Effect ~
+
+idl_no_ms_extensions Disable some of the Microsoft specific
+ extensions
+idl_no_extensions Disable complex extensions
+idlsyntax_showerror Show IDL errors (can be rather intrusive, but
+ quite helpful)
+idlsyntax_showerror_soft Use softer colours by default for errors
+
JAVA *java.vim* *ft-java-syntax*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 5f1b67dc2..5acac75b2 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -5838,6 +5838,8 @@ iconize starting.txt /*iconize*
iconv() eval.txt /*iconv()*
iconv-dynamic mbyte.txt /*iconv-dynamic*
ident-search tips.txt /*ident-search*
+idl-syntax syntax.txt /*idl-syntax*
+idl.vim syntax.txt /*idl.vim*
if_cscop.txt if_cscop.txt /*if_cscop.txt*
if_mzsch.txt if_mzsch.txt /*if_mzsch.txt*
if_ole.txt if_ole.txt /*if_ole.txt*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 8e9ba4bc5..933dd6f0b 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 13
+*todo.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -32,8 +32,6 @@ be worked on, but only if you sponsor Vim development. See |sponsor|.
Do some of the 'cindent' bugs below.
-Should a[:5] not give an error for a list with 4 items?
-
Add more tests for all new functionality in Vim 7. Especially new functions.
Win32: Describe how to do debugging. (George Reilly)
@@ -47,7 +45,8 @@ Mac unicode patch (Da Woon Jung, Eckehard Berns):
- With 'nopaste' pasting is wrong, with 'paste' Command-V doesn't work.
(Alan Schmitt)
-Darren is including the patch in ctags. Test it when it's ready.
+Darren Hiebert is including the patch for omni completion in ctags. A new
+version still isn't available for download.
Awaiting updated patches:
@@ -2238,29 +2237,6 @@ Insert mode:
'cindent', 'smartindent':
-9 Too much indent for "lulu": (Uwe Zeisberger)
- int main ()
- {
- if (lala)
- do
- ++(*lolo);
- while (lili
- && lele);
- lulu;
- }
-9 Function gets extra indent: (Jamax)
- void function(int param) {
- if (false)
- return;
- }
-9 brace not indented correctly:
- case 'c': if (cond)
- {
- Should align with "if" in case statement.
-7 Allow aligning a closing ")" with the line above, instead of the matching
- "(": (Riehm) if (asdfasdf &&
- asdf
- )
8 Java: Inside an anonymous class, after an "else" or "try" the indent is
too small. (Vincent Bergbauer)
8 In C++ it's possible to have {} inside (): (Kirshna)
@@ -2270,18 +2246,12 @@ Insert mode:
"asdf"
}
);
-7 Separate "(0" option into inside/outside a function (Zellner):
+7 Add separate "(0" option into inside/outside a function (Zellner):
func(
int x) // indent like "(4"
{
if (a
&& b) // indent like "(0"
-8 Strange problem with this code, "hello" is indented wrong: (Gary Holloway)
- main() { char foo[] = "/*";
- /* This is a comment; the indentation of C
- * source below this comment gets messed up due to the string above.
- */
- hello
9 Using "{" in a comment: (Helmut Stiegler)
if (a)
{
@@ -2290,9 +2260,9 @@ Insert mode:
// {
}
} <-- this is indented incorrect
-9 Wrong indent for cino=(4, removing the (void) fixes it: (Zellner)
- (void) MyFancyFunction(
- argument);
+ Problem is that find_start_brace() checks for the matching brace to be in
+ a comment, but not braces in between. Requires adding a comment check to
+ findmatchlimit().
- Make smartindenting configurable. Add 'sioptions', e.g. '#' setting the
indent to 0 should be switched on/off.
7 Support ANSI style function header, with each argument on its own line.
@@ -2323,9 +2293,8 @@ Insert mode:
7 Use Tabs for the indent of starting lines, pad with spaces for
continuation lines. Allows changing 'tabstop' without messing up the
indents.
- And/or: Add option to copy indent as-is, without changing spaces to tabs.
- Also for 'autoindent'. 'keeptabs': when set don't change the tabs and
- spaces used for indent, when the indent remains the same or increases.
+ 'keeptabs': when set don't change the tabs and spaces used for indent,
+ when the indent remains the same or increases.
Java:
@@ -3184,8 +3153,6 @@ Various improvements:
stack of previous directories. We also need ":cdnext".
7 Should ":cd" for MS-DOS go to $HOME, when it's defined?
- Make "gq<CR>" work on the last line in the file. Maybe for every operator?
-8 findmatchlimit() should be able to skip comments. Solves problem of
- matching the '{' in /* if (foo) { */ (Fiveash)
- Add more redirecting of Ex commands:
:redir #> bufname
:redir #>> bufname (append)
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index a37d7234a..b9f6914b7 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 13
+*version7.txt* For Vim version 7.0d. Last change: 2006 Apr 14
VIM REFERENCE MANUAL by Bram Moolenaar
@@ -242,8 +242,9 @@ Currently supported languages:
C |ft-c-omni|
(X)HTML with CSS |ft-html-omni|
JavaScript |ft-javascript-omni|
- any language wih syntax highligting |ft-syntax-omni|
+ Python
XML |ft-xml-omni|
+ any language wih syntax highligting |ft-syntax-omni|
When the 'completeopt' option contains "menu" then matches for Insert mode
completion are displayed in a popup menu.
@@ -2476,4 +2477,15 @@ typing a special key.
When 'foldignore' is set the folds were not updated right away.
+When a list is indexed with [a : b] and b was greater than the length an error
+message was given. Now silently restrict to the length of the list.
+
+When using BS during Insert mode completion go back to the original text, so
+that CTRL-N selects the first matching entry.
+
+Added the 'm' flag to 'cinoptions'.
+
+Win32: Make the "gvim --help" window appear in the middle of the screen
+instead of at an arbitrary position. (Randall W. Morris)
+
vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/ftplugin/ruby.vim b/runtime/ftplugin/ruby.vim
index 4c8db852b..8ce7f12ac 100644
--- a/runtime/ftplugin/ruby.vim
+++ b/runtime/ftplugin/ruby.vim
@@ -51,6 +51,7 @@ setlocal formatoptions-=t formatoptions+=croql
setlocal include=^\\s*\\<\\(load\\\|\w*require\\)\\>
setlocal includeexpr=substitute(substitute(v:fname,'::','/','g'),'$','.rb','')
setlocal suffixesadd=.rb
+setlocal omnifunc=rubycomplete#Complete
" TODO:
"setlocal define=^\\s*def
diff --git a/runtime/indent/vhdl.vim b/runtime/indent/vhdl.vim
index 8176673a8..c6f01988d 100644
--- a/runtime/indent/vhdl.vim
+++ b/runtime/indent/vhdl.vim
@@ -17,36 +17,6 @@ setlocal indentkeys=!^F,o,O,e,0(,0)
setlocal indentkeys+==~if,=~then,=~elsif,=~else
setlocal indentkeys+==~begin,=~is,=~select
-" count repeat
-"function! <SID>CountWrapper(cmd)
-" let i = v:count1
-" if a:cmd[0] == ":"
-" while i > 0
-" execute a:cmd
-" let i = i - 1
-" endwhile
-" else
-" execute "normal! gv\<Esc>"
-" execute "normal ".i.a:cmd
-" let curcol = col(".")
-" let curline = line(".")
-" normal! gv
-" call cursor(curline, curcol)
-" endif
-"endfunction
-
-" explore motion
-" keywords: "architecture", "block", "configuration", "component", "entity", "function", "package", "procedure", "process", "record", "units"
-"let b:vhdl_explore = '\%(architecture\|block\|configuration\|component\|entity\|function\|package\|procedure\|process\|record\|units\)'
-"noremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
-"noremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\%(\\<end\\s\\+\\)\\@<!\\<".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
-"noremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%^","bW")')<CR>
-"noremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper(':cal search("\\%(--.*\\)\\@<!\\<end\\s\\+".b:vhdl_explore."\\>\\c\\<Bar>\\%$","W")')<CR>
-"vnoremap <buffer><silent>[[ :<C-u>cal <SID>CountWrapper('[[')<CR>
-"vnoremap <buffer><silent>]] :<C-u>cal <SID>CountWrapper(']]')<CR>
-"vnoremap <buffer><silent>[] :<C-u>cal <SID>CountWrapper('[]')<CR>
-"vnoremap <buffer><silent>][ :<C-u>cal <SID>CountWrapper('][')<CR>
-
" constants
" not a comment
let s:NC = '\%(--.*\)\@<!'
@@ -55,28 +25,6 @@ let s:ES = '\s*\%(--.*\)\=$'
" no "end" keyword in front
let s:NE = '\%(\<end\s\+\)\@<!'
-" for matchit plugin
-"if exists("loaded_matchit")
-" let b:match_ignorecase = 1
-" let b:match_words =
-" \ s:NE.'\<if\>:\<elsif\>:\<else\>:\<end\s\+if\>,'.
-" \ s:NE.'\<case\>:\<when\>:\<end\s\+case\>,'.
-" \ s:NE.'\<loop\>:\<end\s\+loop\>,'.
-" \ s:NE.'\<for\>:\<end\s\+for\>,'.
-" \ s:NE.'\<generate\>:\<end\s\+generate\>,'.
-" \ s:NE.'\<record\>:\<end\s\+record\>,'.
-" \ s:NE.'\<units\>:\<end\s\+units\>,'.
-" \ s:NE.'\<process\>:\<end\s\+process\>,'.
-" \ s:NE.'\<block\>:\<end\s\+block\>,'.
-" \ s:NE.'\<function\>:\<end\s\+function\>,'.
-" \ s:NE.'\<entity\>:\<end\s\+entity\>,'.
-" \ s:NE.'\<component\>:\<end\s\+component\>,'.
-" \ s:NE.'\<architecture\>:\<end\s\+architecture\>,'.
-" \ s:NE.'\<package\>:\<end\s\+package\>,'.
-" \ s:NE.'\<procedure\>:\<end\s\+procedure\>,'.
-" \ s:NE.'\<configuration\>:\<end\s\+configuration\>'
-"endif
-
" only define indent function once
if exists("*GetVHDLindent")
finish
diff --git a/runtime/syntax/html.vim b/runtime/syntax/html.vim
index a76dfccdc..85f9a0254 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 @@ endif
syn case ignore
-if main_syntax == "html"
- syn spell toplevel
-endif
-
" mark illegal characters
syn match htmlError "[<>&]"
@@ -39,8 +35,8 @@ syn match htmlError "[<>&]"
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 @@ syn match htmlSpecialChar "&#\=[0-9A-Za-z]\{1,8};"
" 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 @@ if !exists("html_no_rendering")
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 @@ if main_syntax != 'java' || exists("java_javascript")
" 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 @@ endif
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 @@ syn cluster htmlJavaScript add=@htmlPreproc
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 || !exists("did_html_syn_inits")
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 855dc2172..39041fcac 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 idlSemiColon contained ";"
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 @@ syn keyword idlLiteral contained TRUE FALSE
" 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 9e959e1de..a1b9e157a 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 region javaScriptStringS start=+'+ skip=+\\\\\|\\'+ end=+'\|$+ co
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 37988ed07..12aac9cc4 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 @@ syntax keyword mmaVariable Protected Listable OneIdentity Orderless Flat Constan
" 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 @@ syntax match mmaCommentStar "^\s*\*\+" contained
" 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 "\%(\~\~\=\)"
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 match mmaUnicode "\\\%(\x\{3}\|\.\x\{2}\|:\x\{4}\)"
" 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 @@ syntax match mmaError "\%([&:|+*/?~-]\{3,}\|[.=]\{4,}\|_\@<=\.\{2,}\|`\{2,}\)" c
" 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 @@ if version >= 508 || !exists("did_mma_syn_inits")
" :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 @@ if version >= 508 || !exists("did_mma_syn_inits")
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
index 8dee30383..8dee30383 100644
--- a/runtime/syntax/netrwlist.vim
+++ b/runtime/syntax/netrw.vim
diff --git a/runtime/syntax/nroff.vim b/runtime/syntax/nroff.vim
index 2f004d605..6f2a13134 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 @@ if exists("b:nroff_is_groff")
"
" 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
diff --git a/src/diff.c b/src/diff.c
index 4896c049a..f5577f16b 100644
--- a/src/diff.c
+++ b/src/diff.c
@@ -1807,7 +1807,8 @@ diff_find_change(wp, lnum, startp, endp)
char_u *line_org;
char_u *line_new;
int i;
- int si, ei_org, ei_new;
+ int si_org, si_new;
+ int ei_org, ei_new;
diff_T *dp;
int idx;
int off;
@@ -1838,34 +1839,66 @@ diff_find_change(wp, lnum, startp, endp)
if (off >= dp->df_count[i])
continue;
added = FALSE;
- line_new = ml_get_buf(curtab->tp_diffbuf[i], dp->df_lnum[i] + off, FALSE);
+ line_new = ml_get_buf(curtab->tp_diffbuf[i],
+ dp->df_lnum[i] + off, FALSE);
/* Search for start of difference */
- for (si = 0; line_org[si] != NUL && line_org[si] == line_new[si]; )
- ++si;
+ si_org = si_new = 0;
+ while (line_org[si_org] != NUL)
+ {
+ if ((diff_flags & DIFF_IWHITE)
+ && vim_iswhite(line_org[si_org])
+ && vim_iswhite(line_new[si_new]))
+ {
+ si_org = skipwhite(line_org + si_org) - line_org;
+ si_new = skipwhite(line_new + si_new) - line_new;
+ }
+ else
+ {
+ if (line_org[si_org] != line_new[si_new])
+ break;
+ ++si_org;
+ ++si_new;
+ }
+ }
#ifdef FEAT_MBYTE
if (has_mbyte)
{
/* Move back to first byte of character in both lines (may
* have "nn^" in line_org and "n^ in line_new). */
- si -= (*mb_head_off)(line_org, line_org + si);
- si -= (*mb_head_off)(line_new, line_new + si);
+ si_org -= (*mb_head_off)(line_org, line_org + si_org);
+ si_new -= (*mb_head_off)(line_new, line_new + si_new);
}
#endif
- if (*startp > si)
- *startp = si;
+ if (*startp > si_org)
+ *startp = si_org;
/* Search for end of difference, if any. */
- if (line_org[si] != NUL || line_new[si] != NUL)
+ if (line_org[si_org] != NUL || line_new[si_new] != NUL)
{
ei_org = (int)STRLEN(line_org);
ei_new = (int)STRLEN(line_new);
- while (ei_org >= *startp && ei_new >= *startp
- && ei_org >= 0 && ei_new >= 0
- && line_org[ei_org] == line_new[ei_new])
+ while (ei_org >= *startp && ei_new >= si_new
+ && ei_org >= 0 && ei_new >= 0)
{
- --ei_org;
- --ei_new;
+ if ((diff_flags & DIFF_IWHITE)
+ && vim_iswhite(line_org[ei_org])
+ && vim_iswhite(line_new[ei_new]))
+ {
+ while (ei_org >= *startp
+ && vim_iswhite(line_org[ei_org]))
+ --ei_org;
+ while (ei_new >= si_new
+ && vim_iswhite(line_new[ei_new]))
+ --ei_new;
+ }
+ else
+ {
+ if (line_org[ei_org] != line_new[ei_new])
+ break;
+ --ei_org;
+ --ei_new;
+ }
}
if (*endp < ei_org)
*endp = ei_org;
diff --git a/src/edit.c b/src/edit.c
index a57787a98..8fd9ed451 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2140,7 +2140,7 @@ ins_compl_add(str, len, icase, fname, cptext, cdir, flags)
* - a copy of fname, FREE_FNAME is set to free later THE allocated mem.
* - NULL otherwise. --Acevedo */
if (fname != NULL
- && compl_curr_match
+ && compl_curr_match != NULL
&& compl_curr_match->cp_fname != NULL
&& STRCMP(fname, compl_curr_match->cp_fname) == 0)
match->cp_fname = compl_curr_match->cp_fname;
@@ -2501,6 +2501,11 @@ ins_compl_show_pum()
* compl_match_arraysize));
if (compl_match_array != NULL)
{
+ /* If the current match is the original text don't find the first
+ * match after it, don't highlight anything. */
+ if (compl_shown_match->cp_flags & ORIGINAL_TEXT)
+ shown_match_ok = TRUE;
+
i = 0;
compl = compl_first_match;
do
@@ -2571,8 +2576,10 @@ ins_compl_show_pum()
if (compl_match_array[i].pum_text == compl_shown_match->cp_str
|| compl_match_array[i].pum_text
== compl_shown_match->cp_text[CPT_ABBR])
+ {
+ cur = i;
break;
- cur = i;
+ }
}
if (compl_match_array != NULL)
@@ -2951,6 +2958,8 @@ ins_compl_bs()
ins_compl_free();
compl_started = FALSE;
compl_matches = 0;
+ compl_cont_status = 0;
+ compl_cont_mode = 0;
}
line = ml_get_curline();
@@ -2983,6 +2992,15 @@ ins_compl_bs()
}
}
+ /* Go to the original text, since none of the matches is inserted. */
+ if (compl_first_match->cp_prev != NULL
+ && (compl_first_match->cp_prev->cp_flags & ORIGINAL_TEXT))
+ compl_shown_match = compl_first_match->cp_prev;
+ else
+ compl_shown_match = compl_first_match;
+ compl_curr_match = compl_shown_match;
+ compl_shows_dir = compl_direction;
+
/* Show the popup menu with a different set of matches. */
ins_compl_show_pum();
compl_used_match = FALSE;
diff --git a/src/eval.c b/src/eval.c
index 45efab72c..8728608e8 100644
--- a/src/eval.c
+++ b/src/eval.c
@@ -4696,8 +4696,8 @@ eval7(arg, rettv, evaluate)
}
/*
- * Evaluate an "[expr]" or "[expr:expr]" index.
- * "*arg" points to the '['.
+ * Evaluate an "[expr]" or "[expr:expr]" index. Also "dict.key".
+ * "*arg" points to the '[' or '.'.
* Returns FAIL or OK. "*arg" is advanced to after the ']'.
*/
static int
@@ -4867,7 +4867,9 @@ eval_index(arg, rettv, evaluate, verbose)
if (n2 < 0)
n2 = len + n2;
- if (!empty2 && (n2 < 0 || n2 >= len || n2 + 1 < n1))
+ else if (n2 >= len)
+ n2 = len - 1;
+ if (!empty2 && (n2 < 0 || n2 + 1 < n1))
{
if (verbose)
EMSGN(_(e_listidx), n2);
diff --git a/src/gui_w48.c b/src/gui_w48.c
index 7592c7f71..f99662f9a 100644
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -2118,7 +2118,7 @@ CenterWindow(
hChild = rChild.bottom - rChild.top;
/* If Vim is minimized put the window in the middle of the screen. */
- if (IsMinimized(hwndParent))
+ if (hwndParent == NULL || IsMinimized(hwndParent))
{
#ifdef WIN16
rParent.left = 0;
diff --git a/src/misc1.c b/src/misc1.c
index 905df158c..dd1da4694 100644
--- a/src/misc1.c
+++ b/src/misc1.c
@@ -4658,18 +4658,30 @@ find_start_comment(ind_maxcomment) /* XXX */
pos_T *pos;
char_u *line;
char_u *p;
+ int cur_maxcomment = ind_maxcomment;
- if ((pos = findmatchlimit(NULL, '*', FM_BACKWARD, ind_maxcomment)) == NULL)
- return NULL;
+ for (;;)
+ {
+ pos = findmatchlimit(NULL, '*', FM_BACKWARD, cur_maxcomment);
+ if (pos == NULL)
+ break;
- /*
- * Check if the comment start we found is inside a string.
- */
- line = ml_get(pos->lnum);
- for (p = line; *p && (unsigned)(p - line) < pos->col; ++p)
- p = skip_string(p);
- if ((unsigned)(p - line) > pos->col)
- return NULL;
+ /*
+ * Check if the comment start we found is inside a string.
+ * If it is then restrict the search to below this line and try again.
+ */
+ line = ml_get(pos->lnum);
+ for (p = line; *p && (unsigned)(p - line) < pos->col; ++p)
+ p = skip_string(p);
+ if ((unsigned)(p - line) <= pos->col)
+ break;
+ cur_maxcomment = curwin->w_cursor.lnum - pos->lnum - 1;
+ if (cur_maxcomment <= 0)
+ {
+ pos = NULL;
+ break;
+ }
+ }
return pos;
}
@@ -4770,6 +4782,7 @@ static int cin_isif __ARGS((char_u *));
static int cin_iselse __ARGS((char_u *));
static int cin_isdo __ARGS((char_u *));
static int cin_iswhileofdo __ARGS((char_u *, linenr_T, int));
+static int cin_iswhileofdo_end __ARGS((int terminated, int ind_maxparen, int ind_maxcomment));
static int cin_isbreak __ARGS((char_u *));
static int cin_is_cpp_baseclass __ARGS((char_u *line, colnr_T *col));
static int get_baseclass_amount __ARGS((int col, int ind_maxparen, int ind_maxcomment, int ind_cpp_baseclass));
@@ -5078,7 +5091,7 @@ get_indent_nolabel(lnum) /* XXX */
/*
* Find indent for line "lnum", ignoring any case or jump label.
- * Also return a pointer to the text (after the label).
+ * Also return a pointer to the text (after the label) in "pp".
* label: if (asdf && asdfasdf)
* ^
*/
@@ -5442,6 +5455,66 @@ cin_iswhileofdo(p, lnum, ind_maxparen) /* XXX */
return retval;
}
+/*
+ * Return TRUE if we are at the end of a do-while.
+ * do
+ * nothing;
+ * while (foo
+ * && bar); <-- here
+ * Adjust the cursor to the line with "while".
+ */
+ static int
+cin_iswhileofdo_end(terminated, ind_maxparen, ind_maxcomment)
+ int terminated;
+ int ind_maxparen;
+ int ind_maxcomment;
+{
+ char_u *line;
+ char_u *p;
+ char_u *s;
+ pos_T *trypos;
+ int i;
+
+ if (terminated != ';') /* there must be a ';' at the end */
+ return FALSE;
+
+ p = line = ml_get_curline();
+ while (*p != NUL)
+ {
+ p = cin_skipcomment(p);
+ if (*p == ')')
+ {
+ s = skipwhite(p + 1);
+ if (*s == ';' && cin_nocode(s + 1))
+ {
+ /* Found ");" at end of the line, now check there is "while"
+ * before the matching '('. XXX */
+ i = p - line;
+ curwin->w_cursor.col = i;
+ trypos = find_match_paren(ind_maxparen, ind_maxcomment);
+ if (trypos != NULL)
+ {
+ s = cin_skipcomment(ml_get(trypos->lnum));
+ if (*s == '}') /* accept "} while (cond);" */
+ s = cin_skipcomment(s + 1);
+ if (STRNCMP(s, "while", 5) == 0 && !vim_isIDc(s[5]))
+ {
+ curwin->w_cursor.lnum = trypos->lnum;
+ return TRUE;
+ }
+ }
+
+ /* Searching may have made "line" invalid, get it again. */
+ line = ml_get_curline();
+ p = line + i;
+ }
+ }
+ if (*p != NUL)
+ ++p;
+ }
+ return FALSE;
+}
+
static int
cin_isbreak(p)
char_u *p;
@@ -5716,7 +5789,7 @@ find_start_brace(ind_maxcomment) /* XXX */
trypos = &pos_copy;
curwin->w_cursor = *trypos;
pos = NULL;
- /* ignore the { if it's in a // comment */
+ /* ignore the { if it's in a // or / * * / comment */
if ((colnr_T)cin_skip2pos(trypos) == trypos->col
&& (pos = find_start_comment(ind_maxcomment)) == NULL) /* XXX */
break;
@@ -5738,7 +5811,7 @@ find_match_paren(ind_maxparen, ind_maxcomment) /* XXX */
{
pos_T cursor_save;
pos_T *trypos;
- static pos_T pos_copy;
+ static pos_T pos_copy;
cursor_save = curwin->w_cursor;
if ((trypos = findmatchlimit(NULL, '(', 0, ind_maxparen)) != NULL)
@@ -5942,6 +6015,11 @@ get_c_indent()
int ind_matching_paren = 0;
/*
+ * indent a closing parentheses under the previous line.
+ */
+ int ind_paren_prev = 0;
+
+ /*
* Extra indent for comments.
*/
int ind_comment = 0;
@@ -6079,6 +6157,7 @@ get_c_indent()
case 'W': ind_unclosed_wrapped = n; break;
case 'w': ind_unclosed_whiteok = n; break;
case 'm': ind_matching_paren = n; break;
+ case 'M': ind_paren_prev = n; break;
case ')': ind_maxparen = n; break;
case '*': ind_maxcomment = n; break;
case 'g': ind_scopedecl = n; break;
@@ -6322,41 +6401,50 @@ get_c_indent()
* If the matching paren is more than one line away, use the indent of
* a previous non-empty line that matches the same paren.
*/
- amount = -1;
- cur_amount = MAXCOL;
- our_paren_pos = *trypos;
- for (lnum = cur_curpos.lnum - 1; lnum > our_paren_pos.lnum; --lnum)
+ if (theline[0] == ')' && ind_paren_prev)
{
- l = skipwhite(ml_get(lnum));
- if (cin_nocode(l)) /* skip comment lines */
- continue;
- if (cin_ispreproc_cont(&l, &lnum)) /* ignore #defines, #if, etc. */
- continue;
- curwin->w_cursor.lnum = lnum;
-
- /* Skip a comment. XXX */
- if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ /* Line up with the start of the matching paren line. */
+ amount = get_indent_lnum(curwin->w_cursor.lnum - 1); /* XXX */
+ }
+ else
+ {
+ amount = -1;
+ cur_amount = MAXCOL;
+ our_paren_pos = *trypos;
+ for (lnum = cur_curpos.lnum - 1; lnum > our_paren_pos.lnum; --lnum)
{
- lnum = trypos->lnum + 1;
- continue;
- }
+ l = skipwhite(ml_get(lnum));
+ if (cin_nocode(l)) /* skip comment lines */
+ continue;
+ if (cin_ispreproc_cont(&l, &lnum))
+ continue; /* ignore #define, #if, etc. */
+ curwin->w_cursor.lnum = lnum;
- /* XXX */
- if ((trypos = find_match_paren(
- corr_ind_maxparen(ind_maxparen, &cur_curpos),
+ /* Skip a comment. XXX */
+ if ((trypos = find_start_comment(ind_maxcomment)) != NULL)
+ {
+ lnum = trypos->lnum + 1;
+ continue;
+ }
+
+ /* XXX */
+ if ((trypos = find_match_paren(
+ corr_ind_maxparen(ind_maxparen, &cur_curpos),
ind_maxcomment)) != NULL
- && trypos->lnum == our_paren_pos.lnum
- && trypos->col == our_paren_pos.col)
- {
- amount = get_indent_lnum(lnum); /* XXX */
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col == our_paren_pos.col)
+ {
+ amount = get_indent_lnum(lnum); /* XXX */
- if (theline[0] == ')')
- {
- if (our_paren_pos.lnum != lnum && cur_amount > amount)
- cur_amount = amount;
- amount = -1;
- }
- break;
+ if (theline[0] == ')')
+ {
+ if (our_paren_pos.lnum != lnum
+ && cur_amount > amount)
+ cur_amount = amount;
+ amount = -1;
+ }
+ break;
+ }
}
}
@@ -6367,9 +6455,34 @@ get_c_indent()
*/
if (amount == -1)
{
+ int ignore_paren_col = 0;
+
amount = skip_label(our_paren_pos.lnum, &look, ind_maxcomment);
+ look = skipwhite(look);
+ if (*look == '(')
+ {
+ linenr_T save_lnum = curwin->w_cursor.lnum;
+ char_u *line;
+ int look_col;
+
+ /* Ignore a '(' in front of the line that has a match before
+ * our matching '('. */
+ curwin->w_cursor.lnum = our_paren_pos.lnum;
+ line = ml_get_curline();
+ look_col = look - line;
+ curwin->w_cursor.col = look_col + 1;
+ if ((trypos = findmatchlimit(NULL, ')', 0, ind_maxparen))
+ != NULL
+ && trypos->lnum == our_paren_pos.lnum
+ && trypos->col < our_paren_pos.col)
+ ignore_paren_col = trypos->col + 1;
+
+ curwin->w_cursor.lnum = save_lnum;
+ look = ml_get(our_paren_pos.lnum) + look_col;
+ }
if (theline[0] == ')' || ind_unclosed == 0
- || (!ind_unclosed_noignore && *skipwhite(look) == '('))
+ || (!ind_unclosed_noignore && *look == '('
+ && ignore_paren_col == 0))
{
/*
* If we're looking at a close paren, line up right there;
@@ -6439,16 +6552,17 @@ get_c_indent()
/* Line up with the start of the matching paren line. */
}
else if (ind_unclosed == 0 || (!ind_unclosed_noignore
- && *skipwhite(look) == '('))
+ && *look == '(' && ignore_paren_col == 0))
{
if (cur_amount != MAXCOL)
amount = cur_amount;
}
else
{
- /* add ind_unclosed2 for each '(' before our matching one */
+ /* Add ind_unclosed2 for each '(' before our matching one, but
+ * ignore (void) before the line (ignore_paren_col). */
col = our_paren_pos.col;
- while (our_paren_pos.col > 0)
+ while (our_paren_pos.col > ignore_paren_col)
{
--our_paren_pos.col;
switch (*ml_get_pos(&our_paren_pos))
@@ -6887,7 +7001,12 @@ get_c_indent()
amount = n;
l = after_label(ml_get_curline());
if (l != NULL && cin_is_cinword(l))
- amount += ind_level + ind_no_brace;
+ {
+ if (theline[0] == '{')
+ amount += ind_open_extra;
+ else
+ amount += ind_level + ind_no_brace;
+ }
break;
}
@@ -7259,8 +7378,8 @@ get_c_indent()
* If so: Ignore until the matching "do".
*/
/* XXX */
- else if (cin_iswhileofdo(l,
- curwin->w_cursor.lnum, ind_maxparen))
+ else if (cin_iswhileofdo_end(terminated, ind_maxparen,
+ ind_maxcomment))
{
/*
* Found an unterminated line after a while ();, line up
diff --git a/src/search.c b/src/search.c
index a063a26be..addb9cdb0 100644
--- a/src/search.c
+++ b/src/search.c
@@ -1930,7 +1930,7 @@ findmatchlimit(oap, initc, flags, maxtravel)
break;
--pos.lnum;
- if (maxtravel && traveled++ > maxtravel)
+ if (maxtravel > 0 && ++traveled > maxtravel)
break;
linep = ml_get(pos.lnum);
diff --git a/src/testdir/test3.in b/src/testdir/test3.in
index 898311834..b929279f4 100644
--- a/src/testdir/test3.in
+++ b/src/testdir/test3.in
@@ -10,7 +10,7 @@ STARTTEST
=/end of AUTO
ENDTEST
-/* start of AUTO matically checked */
+/* start of AUTO matically checked vim: set ts=4 : */
{
if (test)
cmd1;
@@ -766,7 +766,39 @@ Constructor::Constructor(int a,
mMember(b)
{
}
+ int main ()
+ {
+ if (lala)
+ do
+ ++(*lolo);
+ while (lili
+ && lele);
+ lulu;
+ }
+int main ()
+{
+switch (c)
+{
+case 'c': if (cond)
+{
+}
+}
+}
+
+main()
+{
+ (void) MyFancyFuasdfadsfnction(
+ argument);
+}
+
+main()
+{
+ char foo[] = "/*";
+ /* as
+ df */
+ hello
+}
/* end of AUTO */
STARTTEST
@@ -1270,6 +1302,19 @@ ENDTEST
}
STARTTEST
+:set cino=M1
+2kdd]]=][
+ENDTEST
+
+int main ()
+{
+ if (cond1 &&
+ cond2
+ )
+ foo;
+}
+
+STARTTEST
:g/^STARTTEST/.,/^ENDTEST/d
:1;/start of AUTO/,$wq! test.out
ENDTEST
diff --git a/src/testdir/test3.ok b/src/testdir/test3.ok
index 2c7fd17f5..8c015a338 100644
--- a/src/testdir/test3.ok
+++ b/src/testdir/test3.ok
@@ -1,4 +1,4 @@
-/* start of AUTO matically checked */
+/* start of AUTO matically checked vim: set ts=4 : */
{
if (test)
cmd1;
@@ -754,7 +754,39 @@ Constructor::Constructor(int a,
mMember(b)
{
}
+int main ()
+{
+ if (lala)
+ do
+ ++(*lolo);
+ while (lili
+ && lele);
+ lulu;
+}
+
+int main ()
+{
+ switch (c)
+ {
+ case 'c': if (cond)
+ {
+ }
+ }
+}
+
+main()
+{
+ (void) MyFancyFuasdfadsfnction(
+ argument);
+}
+main()
+{
+ char foo[] = "/*";
+ /* as
+ df */
+ hello
+}
/* end of AUTO */
@@ -1142,3 +1174,12 @@ foo()
);
}
+
+int main ()
+{
+ if (cond1 &&
+ cond2
+ )
+ foo;
+}
+
diff --git a/src/version.h b/src/version.h
index 11f5d83d6..843d9a124 100644
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
*/
#define VIM_VERSION_NODOT "vim70d"
#define VIM_VERSION_SHORT "7.0d"
-#define VIM_VERSION_MEDIUM "7.0d03 BETA"
-#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13)"
-#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d03 BETA (2006 Apr 13, compiled "
+#define VIM_VERSION_MEDIUM "7.0d04 BETA"
+#define VIM_VERSION_LONG "VIM - Vi IMproved 7.0d04 BETA (2006 Apr 14)"
+#define VIM_VERSION_LONG_DATE "VIM - Vi IMproved 7.0d04 BETA (2006 Apr 14, compiled "