changeset 837:6bb1fa855dc9 v7.0e03

updated for version 7.0e03
author vimboss
date Wed, 19 Apr 2006 21:23:36 +0000
parents 5a7843c57316
children 8e5830943bff
files runtime/autoload/htmlcomplete.vim runtime/autoload/xml/html401s.vim runtime/autoload/xml/html401t.vim runtime/autoload/xmlcomplete.vim runtime/doc/map.txt runtime/doc/todo.txt runtime/doc/version7.txt runtime/filetype.vim runtime/ftplugin/initex.vim runtime/ftplugin/kconfig.vim runtime/ftplugin/mailaliases.vim runtime/ftplugin/plaintex.vim runtime/ftplugin/tex.vim runtime/lang/menu_zh_cn.utf-8.vim runtime/syntax/2html.vim runtime/syntax/coretex.vim runtime/syntax/initex.vim runtime/syntax/kconfig.vim runtime/syntax/lua.vim runtime/syntax/plaintex.vim runtime/syntax/vim.vim src/fileio.c src/getchar.c src/gui_w32.c src/gui_w48.c src/po/de.po src/po/fr.po src/version.h
diffstat 28 files changed, 4396 insertions(+), 2514 deletions(-) [+]
line wrap: on
line diff
--- a/runtime/autoload/htmlcomplete.vim
+++ b/runtime/autoload/htmlcomplete.vim
@@ -210,7 +210,14 @@ function! htmlcomplete#CompleteTags(find
 		let tag = ''
 	else
 		let tag = split(context)[0]
+		if tag =~ '[A-Z]'
+			let uppercase_tag = 1
+			let tag = tolower(tag)
+		else
+			let uppercase_tag = 0
+		endif
 	endif
+	let g:ta = tag
 	" Get last word, it should be attr name
 	let attr = matchstr(context, '.*\s\zs.*')
 	" Possible situations where any prediction would be difficult:
@@ -438,10 +445,10 @@ function! htmlcomplete#CompleteTags(find
 		endif
 		" Value of attribute completion {{{
 		" If attr contains =\s*[\"'] we catched value of attribute
-		if attr =~ "=\s*[\"']"
+		if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
 			" Let do attribute specific completion
 			let attrname = matchstr(attr, '.*\ze\s*=')
-			let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*")
+			let entered_value = matchstr(attr, ".*=\\s*[\"']\\?\\zs.*")
 			let values = []
 			if attrname == 'href'
 				" Now we are looking for local anchors defined by name or id
@@ -469,15 +476,21 @@ function! htmlcomplete#CompleteTags(find
 			" We need special version of sbase
 			let attrbase = matchstr(context, ".*[\"']")
 			let attrquote = matchstr(attrbase, '.$')
+			if attrquote !~ "['\"]"
+				let attrquoteopen = '"'
+				let attrquote = '"'
+			else
+				let attrquoteopen = ''
+			endif
 
 			for m in values
 				" This if is needed to not offer all completions as-is
 				" alphabetically but sort them. Those beginning with entered
 				" part will be as first choices
 				if m =~ '^'.entered_value
-					call add(res, m . attrquote.' ')
+					call add(res, attrquoteopen . m . attrquote.' ')
 				elseif m =~ entered_value
-					call add(res2, m . attrquote.' ')
+					call add(res2, attrquoteopen . m . attrquote.' ')
 				endif
 			endfor
 
@@ -494,8 +507,12 @@ function! htmlcomplete#CompleteTags(find
 			call htmlcomplete#LoadData()
 		endif
 		" }}}
-		"
-		let attrs = keys(g:html_omni[tag][1])
+		
+		if has_key(g:html_omni, tag)
+			let attrs = keys(g:html_omni[tag][1])
+		else
+			return []
+		endif
 
 		for m in sort(attrs)
 			if m =~ '^'.attr
@@ -539,6 +556,7 @@ function! htmlcomplete#CompleteTags(find
 			return [opentag.">"]
 		endif
 	endif
+	" }}}
 	" Load data {{{
 	if !exists("g:html_omni")
 		"runtime! autoload/xml/xhtml10s.vim
@@ -547,10 +565,9 @@ function! htmlcomplete#CompleteTags(find
 	" }}}
 	" Tag completion {{{
 	" Deal with tag completion.
-	let opentag = xmlcomplete#GetLastOpenTag("b:unaryTagsStack")
+	let opentag = tolower(xmlcomplete#GetLastOpenTag("b:unaryTagsStack"))
 	" MM: TODO: GLOT works always the same but with some weird situation it
 	" behaves as intended in HTML but screws in PHP
-	let g:ot = opentag
 	if opentag == '' || &ft == 'php' && !has_key(g:html_omni, opentag)
 		" Hack for sometimes failing GetLastOpenTag.
 		" As far as I tested fail isn't GLOT fault but problem
@@ -559,9 +576,17 @@ function! htmlcomplete#CompleteTags(find
 	    let tags = keys(g:html_omni)
 		call filter(tags, 'v:val !~ "^vimxml"')
 	else
-		let tags = g:html_omni[opentag][0]
+		if has_key(g:html_omni, opentag)
+			let tags = g:html_omni[opentag][0]
+		else
+			return []
+		endif
 	endif
 	" }}}
+	
+	if exists("uppercase_tag") && uppercase_tag == 1
+		let context = tolower(context)
+	endif
 
 	for m in sort(tags)
 		if m =~ '^'.context
new file mode 100644
--- /dev/null
+++ b/runtime/autoload/xml/html401s.vim
@@ -0,0 +1,325 @@
+let g:xmldata_html401s = {
+\ '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"],
+\ 'vimxmlroot': ['html'],
+\ 'a': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'name': [], 'style': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default']}
+\ ],
+\ 'abbr': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'acronym': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'address': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'area': [
+\ [],
+\ { 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'nohref': ['nohref'], 'onfocus': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'alt': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default'], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'b': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'base': [
+\ [],
+\ { 'href': []}
+\ ],
+\ 'bdo': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
+\ ],
+\ 'big': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'blockquote': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'body': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'br': [
+\ [],
+\ { 'id': [], 'style': [], 'class': [], 'title': []}
+\ ],
+\ 'button': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'accesskey': [], 'disabled': ['disabled'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
+\ ],
+\ 'caption': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'cite': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'code': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'col': [
+\ [],
+\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'colgroup': [
+\ ['col'],
+\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'dd': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'del': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'dfn': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'div': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'dl': [
+\ ['dt', 'dd'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'dt': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'em': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'fieldset': [
+\ ['legend', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'form': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'script'],
+\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h1': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'h2': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'h3': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'h4': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'h5': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'h6': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'head': [
+\ ['title', 'base'],
+\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
+\ ],
+\ 'hr': [
+\ [],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'html': [
+\ ['head', 'body'],
+\ { 'dir': ['ltr', 'rtl'], 'lang': []}
+\ ],
+\ 'i': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'img': [
+\ [],
+\ { 'width': [], 'usemap': [], 'ismap': ['ismap'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'alt': [], 'lang': [], 'src': [], 'longdesc': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'height': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'input': [
+\ [],
+\ { 'ondblclick': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'src': [], 'name': [], 'checked': ['checked'], 'onkeypress': [], 'onmousedown': [], 'type': ['TEXT', 'TEXT', 'PASSWORD', 'CHECKBOX', 'RADIO', 'SUBMIT', 'RESET', 'FILE', 'IMAGE', 'BUTTON'], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'usemap': [], 'ismap': ['ismap'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'maxlength': [], 'onselect': [], 'accept': [], 'alt': [], 'tabindex': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'ins': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'cite': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'kbd': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'label': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'legend': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'li': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'link': [
+\ [],
+\ { 'rel': [], 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'href': [], 'media': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'map': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', 'area'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'meta': [
+\ [],
+\ { 'http-equiv': [], 'content': [], 'lang': [], 'name': [], 'scheme': [], 'dir': ['ltr', 'rtl']}
+\ ],
+\ 'noscript': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'object': [
+\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'data': [], 'declare': ['declare'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'width': [], 'usemap': [], 'dir': ['ltr', 'rtl'], 'archive': [], 'standby': [], 'tabindex': [], 'classid': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'height': [], 'codetype': [], 'codebase': []}
+\ ],
+\ 'ol': [
+\ ['li'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'optgroup': [
+\ ['option'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'option': [
+\ [''],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'selected': ['selected']}
+\ ],
+\ 'p': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'param': [
+\ [],
+\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'DATA', 'REF', 'OBJECT']}
+\ ],
+\ 'pre': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'q': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'cite': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'samp': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'script': [
+\ ['cdata'],
+\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['defer']}
+\ ],
+\ 'select': [
+\ ['optgroup', 'option'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'multiple': ['multiple']}
+\ ],
+\ 'small': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'span': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'strong': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'style': [
+\ ['cdata'],
+\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
+\ ],
+\ 'sub': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'sup': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'table': [
+\ ['caption', 'col', 'colgroup', 'thead', 'tfoot', 'tbody'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'datapagesize': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'frame': ['void', 'above', 'below', 'hsides', 'lhs', 'rhs', 'vsides', 'box', 'border'], 'rules': ['none', 'groups', 'rows', 'cols', 'all'], 'dir': ['ltr', 'rtl'], 'summary': [], 'cellspacing': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'border': [], 'cellpadding': []}
+\ ],
+\ 'tbody': [
+\ ['tr'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'td': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'headers': [], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'textarea': [
+\ [''],
+\ { 'ondblclick': [], 'cols': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'rows': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onselect': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'tfoot': [
+\ ['tr'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'th': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'pre', 'dl', 'div', 'noscript', 'blockquote', 'form', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'headers': [], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'thead': [
+\ ['tr'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'title': [
+\ [''],
+\ { 'lang': [], 'dir': ['ltr', 'rtl']}
+\ ],
+\ 'tr': [
+\ ['th', 'td'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'tt': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'ul': [
+\ ['li'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'var': [
+\ ['tt', 'i', 'b', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'object', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'vimxmltaginfo': {
+\ 'area': ['/>', ''],
+\ 'base': ['/>', ''],
+\ 'br': ['/>', ''],
+\ 'col': ['/>', ''],
+\ 'hr': ['/>', ''],
+\ 'img': ['/>', ''],
+\ 'input': ['/>', ''],
+\ 'link': ['/>', ''],
+\ 'meta': ['/>', ''],
+\ 'param': ['/>', ''],
+\ }
+\ }
+" vim:ft=vim:ff=unix
new file mode 100644
--- /dev/null
+++ b/runtime/autoload/xml/html401t.vim
@@ -0,0 +1,375 @@
+let g:xmldata_html401t = {
+\ '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"],
+\ 'vimxmlroot': ['html'],
+\ 'a': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'rel': [], 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'target': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'tabindex': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default']}
+\ ],
+\ 'abbr': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'acronym': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'address': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button', 'p'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'applet': [
+\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'width': [], 'object': [], 'id': [], 'code': [], 'vspace': [], 'archive': [], 'alt': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'style': [], 'name': [], 'height': [], 'hspace': [], 'title': [], 'class': [], 'codebase': []}
+\ ],
+\ 'area': [
+\ [],
+\ { 'accesskey': [], 'coords': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'target': [], 'nohref': ['nohref'], 'onfocus': [], 'onkeyup': [], 'href': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'alt': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'shape': ['rect', 'rect', 'circle', 'poly', 'default'], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'b': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'base': [
+\ [],
+\ { 'target': [], 'href': []}
+\ ],
+\ 'basefont': [
+\ [],
+\ { 'size': [], 'face': [], 'color': [], 'id': []}
+\ ],
+\ 'bdo': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'dir': ['ltr', 'rtl'], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
+\ ],
+\ 'big': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'blockquote': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'body': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'vlink': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'alink': [], 'onkeyup': [], 'bgcolor': [], 'text': [], 'onmouseup': [], 'id': [], 'link': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'background': [], 'onunload': [], 'onkeypress': [], 'onmousedown': [], 'onload': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'br': [
+\ [],
+\ { 'clear': ['none', 'left', 'all', 'right', 'none'], 'id': [], 'style': [], 'class': [], 'title': []}
+\ ],
+\ 'button': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'accesskey': [], 'disabled': ['disabled'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onkeydown': [], 'onfocus': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'tabindex': [], 'value': [], 'name': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': ['submit', 'button', 'submit', 'reset']}
+\ ],
+\ 'caption': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['top', 'bottom', 'left', 'right'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'center': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'cite': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'code': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'col': [
+\ [],
+\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'colgroup': [
+\ ['col'],
+\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'charoff': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'char': [], 'span': ['1'], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'dd': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'del': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'cite': [], 'onmouseover': [], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'dfn': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'dir': [
+\ ['li'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'div': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'dl': [
+\ ['dt', 'dd'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'dt': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'em': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'fieldset': [
+\ ['legend', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'font': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'dir': ['ltr', 'rtl'], 'size': [], 'face': [], 'color': [], 'id': [], 'lang': [], 'style': [], 'class': [], 'title': []}
+\ ],
+\ 'form': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'enctype': ['application/x-www-form-urlencoded'], 'onsubmit': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'target': [], 'onkeyup': [], 'onmouseup': [], 'onreset': [], 'id': [], 'method': ['GET', 'GET', 'POST'], 'onmouseover': [], 'lang': [], 'accept': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'accept-charset': [], 'onkeypress': [], 'onmousedown': [], 'action': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h1': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h2': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h3': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h4': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h5': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'h6': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'head': [
+\ ['title', 'isindex', 'base'],
+\ { 'profile': [], 'dir': ['ltr', 'rtl'], 'lang': []}
+\ ],
+\ 'hr': [
+\ [],
+\ { 'width': [], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'size': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right'], 'lang': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'noshade': ['noshade'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'html': [
+\ ['head', 'body'],
+\ { 'dir': ['ltr', 'rtl'], 'lang': [], 'version': ['-//W3C//DTD HTML 4.01 Transitional//EN']}
+\ ],
+\ 'i': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': []}
+\ ],
+\ 'iframe': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'width': [], 'scrolling': ['auto', 'yes', 'no', 'auto'], 'marginwidth': [], 'id': [], 'marginheight': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'longdesc': [], 'src': [], 'style': [], 'name': [], 'height': [], 'frameborder': ['1', '1', '0'], 'title': [], 'class': []}
+\ ],
+\ 'img': [
+\ [],
+\ { 'width': [], 'usemap': [], 'ismap': ['ismap'], 'ondblclick': [], 'dir': ['ltr', 'rtl'], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'vspace': [], 'onmouseover': [], 'alt': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'src': [], 'longdesc': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'name': [], 'height': [], 'border': [], 'hspace': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': []}
+\ ],
+\ 'input': [
+\ [],
+\ { 'ondblclick': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'value': [], 'src': [], 'name': [], 'checked': ['checked'], 'onkeypress': [], 'onmousedown': [], 'type': ['TEXT', 'TEXT', 'PASSWORD', 'CHECKBOX', 'RADIO', 'SUBMIT', 'RESET', 'FILE', 'IMAGE', 'BUTTON'], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'usemap': [], 'ismap': ['ismap'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'maxlength': [], 'onselect': [], 'tabindex': [], 'accept': [], 'alt': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'ins': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'datetime': [], 'cite': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'isindex': [
+\ [],
+\ { 'id': [], 'lang': [], 'prompt': [], 'class': [], 'title': [], 'dir': ['ltr', 'rtl'], 'style': []}
+\ ],
+\ 'kbd': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'label': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'for': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'legend': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['top', 'bottom', 'left', 'right'], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'li': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'type': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'link': [
+\ [],
+\ { 'rel': [], 'ondblclick': [], 'onkeydown': [], 'target': [], 'onkeyup': [], 'href': [], 'media': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'charset': [], 'hreflang': [], 'onkeypress': [], 'onmousedown': [], 'rev': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'map': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', 'area'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'menu': [
+\ ['li'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'meta': [
+\ [],
+\ { 'http-equiv': [], 'content': [], 'lang': [], 'name': [], 'scheme': [], 'dir': ['ltr', 'rtl']}
+\ ],
+\ 'noframes': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'noscript': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'object': [
+\ ['param', 'p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['top', 'middle', 'bottom', 'left', 'right'], 'name': [], 'data': [], 'declare': ['declare'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'type': [], 'width': [], 'usemap': [], 'dir': ['ltr', 'rtl'], 'vspace': [], 'tabindex': [], 'standby': [], 'archive': [], 'classid': [], 'style': [], 'onmousemove': [], 'onmouseout': [], 'height': [], 'border': [], 'codetype': [], 'hspace': [], 'codebase': []}
+\ ],
+\ 'ol': [
+\ ['li'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'type': [], 'class': [], 'title': [], 'onclick': [], 'start': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'optgroup': [
+\ ['option'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'option': [
+\ [''],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'value': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'label': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': [], 'selected': ['selected']}
+\ ],
+\ 'p': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify'], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'param': [
+\ [],
+\ { 'id': [], 'value': [], 'name': [], 'type': [], 'valuetype': ['DATA', 'DATA', 'REF', 'OBJECT']}
+\ ],
+\ 'pre': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'width': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'q': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'cite': [], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 's': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'samp': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'script': [
+\ ['cdata'],
+\ { 'src': [], 'for': [], 'charset': [], 'event': [], 'type': [], 'defer': ['defer'], 'language': []}
+\ ],
+\ 'select': [
+\ ['optgroup', 'option'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'disabled': ['disabled'], 'dir': ['ltr', 'rtl'], 'size': [], 'onblur': [], 'onfocus': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'multiple': ['multiple']}
+\ ],
+\ 'small': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'span': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'strike': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'strong': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'style': [
+\ ['cdata'],
+\ { 'media': [], 'lang': [], 'type': [], 'title': [], 'dir': ['ltr', 'rtl']}
+\ ],
+\ 'sub': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'sup': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'table': [
+\ ['caption', 'col', 'colgroup', 'thead', 'tfoot', 'tbody'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'datapagesize': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'frame': ['void', 'above', 'below', 'hsides', 'lhs', 'rhs', 'vsides', 'box', 'border'], 'rules': ['none', 'groups', 'rows', 'cols', 'all'], 'dir': ['ltr', 'rtl'], 'summary': [], 'bgcolor': [], 'cellspacing': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'border': [], 'cellpadding': []}
+\ ],
+\ 'tbody': [
+\ ['tr'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'td': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'headers': [], 'nowrap': ['nowrap'], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'height': [], 'char': []}
+\ ],
+\ 'textarea': [
+\ [''],
+\ { 'ondblclick': [], 'cols': [], 'onkeydown': [], 'readonly': ['readonly'], 'onchange': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'name': [], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'accesskey': [], 'disabled': ['disabled'], 'rows': [], 'dir': ['ltr', 'rtl'], 'onblur': [], 'onfocus': [], 'onselect': [], 'tabindex': [], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'tfoot': [
+\ ['tr'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'th': [
+\ ['p', 'h1', 'h2', 'h3', 'h4', 'h5', 'h6', 'ul', 'ol', 'dir', 'menu', 'pre', 'dl', 'div', 'center', 'noscript', 'noframes', 'blockquote', 'form', 'isindex', 'hr', 'table', 'fieldset', 'address', '#pcdata', 'tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'axis': [], 'onkeydown': [], 'abbr': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'scope': ['row', 'col', 'rowgroup', 'colgroup'], 'onmouseover': [], 'lang': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'width': [], 'headers': [], 'nowrap': ['nowrap'], 'dir': ['ltr', 'rtl'], 'rowspan': ['1'], 'colspan': ['1'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'height': [], 'char': []}
+\ ],
+\ 'thead': [
+\ ['tr'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'title': [
+\ [''],
+\ { 'lang': [], 'dir': ['ltr', 'rtl']}
+\ ],
+\ 'tr': [
+\ ['th', 'td'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'align': ['left', 'center', 'right', 'justify', 'char'], 'lang': [], 'valign': ['top', 'middle', 'bottom', 'baseline'], 'onkeypress': [], 'onmousedown': [], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'bgcolor': [], 'charoff': [], 'onmouseout': [], 'onmousemove': [], 'style': [], 'char': []}
+\ ],
+\ 'tt': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'u': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'ul': [
+\ ['li'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'compact': ['compact'], 'onmouseover': [], 'lang': [], 'onkeypress': [], 'onmousedown': [], 'type': ['disc', 'square', 'circle'], 'class': [], 'title': [], 'onclick': [], 'dir': ['ltr', 'rtl'], 'onmouseout': [], 'onmousemove': [], 'style': []}
+\ ],
+\ 'var': [
+\ ['tt', 'i', 'b', 'u', 's', 'strike', 'big', 'small', 'em', 'strong', 'dfn', 'code', 'samp', 'kbd', 'var', 'cite', 'abbr', 'acronym', 'a', 'img', 'applet', 'object', 'font', 'basefont', 'br', 'script', 'map', 'q', 'sub', 'sup', 'span', 'bdo', 'iframe', 'input', 'select', 'textarea', 'label', 'button'],
+\ { 'ondblclick': [], 'onkeydown': [], 'onkeyup': [], 'onmouseup': [], 'id': [], 'onmouseover': [], 'lang': [], 'onmousedown': [], 'onkeypress': [], 'onclick': [], 'title': [], 'class': [], 'dir': ['ltr', 'rtl'], 'style': [], 'onmousemove': [], 'onmouseout': []}
+\ ],
+\ 'vimxmltaginfo': {
+\ 'area': ['/>', ''],
+\ 'base': ['/>', ''],
+\ 'basefont': ['/>', ''],
+\ 'br': ['/>', ''],
+\ 'col': ['/>', ''],
+\ 'hr': ['/>', ''],
+\ 'img': ['/>', ''],
+\ 'input': ['/>', ''],
+\ 'isindex': ['/>', ''],
+\ 'link': ['/>', ''],
+\ 'meta': ['/>', ''],
+\ 'param': ['/>', ''],
+\ }
+\ }
+" vim:ft=vim:ff=unix
--- a/runtime/autoload/xmlcomplete.vim
+++ b/runtime/autoload/xmlcomplete.vim
@@ -1,7 +1,7 @@
 " Vim completion script
 " Language:	XML
 " Maintainer:	Mikolaj Machowski ( mikmach AT wp DOT pl )
-" Last Change:	2006 Apr 12
+" Last Change:	2006 Apr 19
 
 " This function will create Dictionary with users namespace strings and values
 " canonical (system) names of data files.  Names should be lowercase,
@@ -186,16 +186,20 @@ function! xmlcomplete#CompleteTags(finds
 	if context =~ '\s'
 
 		" If attr contains =\s*[\"'] we catched value of attribute
-		if attr =~ "=\s*[\"']"
+		if attr =~ "=\s*[\"']" || attr =~ "=\s*$"
 			" Let do attribute specific completion
 			let attrname = matchstr(attr, '.*\ze\s*=')
-			let entered_value = matchstr(attr, ".*=\\s*[\"']\\zs.*")
+			let entered_value = matchstr(attr, ".*=\\s*[\"']\\?\\zs.*")
 
 			if tag =~ '^[?!]'
 				" Return nothing if we are inside of ! or ? tag
 				return []
 			else
-				let values = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][attrname]
+				if has_key(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}, tag) && has_key(g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1], attrname)
+					let values = g:xmldata{'_'.g:xmldata_connection[b:xml_namespace]}[tag][1][attrname]
+				else
+					return []
+				endif
 			endif
 
 			if len(values) == 0
@@ -205,15 +209,21 @@ function! xmlcomplete#CompleteTags(finds
 			" We need special version of sbase
 			let attrbase = matchstr(context, ".*[\"']")
 			let attrquote = matchstr(attrbase, '.$')
+			if attrquote !~ "['\"]"
+				let attrquoteopen = '"'
+				let attrquote = '"'
+			else
+				let attrquoteopen = ''
+			endif
 
 			for m in values
 				" This if is needed to not offer all completions as-is
 				" alphabetically but sort them. Those beginning with entered
 				" part will be as first choices
 				if m =~ '^'.entered_value
-					call add(res, m . attrquote.' ')
+					call add(res, attrquoteopen . m . attrquote.' ')
 				elseif m =~ entered_value
-					call add(res2, m . attrquote.' ')
+					call add(res2, attrquoteopen . m . attrquote.' ')
 				endif
 			endfor
 
--- a/runtime/doc/map.txt
+++ b/runtime/doc/map.txt
@@ -1,4 +1,4 @@
-*map.txt*       For Vim version 7.0e.  Last change: 2006 Apr 11
+*map.txt*       For Vim version 7.0e.  Last change: 2006 Apr 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -239,6 +239,16 @@ Here is an example that inserts a list n
 CTRL-L inserts the next number, CTRL-R resets the count.  CTRL-R returns an
 empty string, so that nothing is inserted.
 
+Note that there are some tricks to make special keys work and escape CSI bytes
+in the text.  The |:map| command also does this, thus you must avoid that it
+is done twice.  This does not work: >
+	:imap <expr> <F3> "<Char-0x611B>"
+Because the <Char- sequence is escaped for being a |:imap| argument and then
+again for using <expr>.  This does work: >
+	:imap <expr> <F3> "\u611B"
+Using 0x80 as a single byte before other text does not work, it will be seen
+as a special key.
+
 
 1.3 MAPPING AND MODES					*:map-modes*
 
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 18
+*todo.txt*      For Vim version 7.0e.  Last change: 2006 Apr 19
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,15 @@ be worked on, but only if you sponsor Vi
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+Hang in omni completion when 'lines' is 6. (dtsfan)
+
+Crash in "z=" when the change triggers checking out the file, FileChangedRO
+event.  Problem in move_lines()?  FileChangedShell also involved? (Neil Bird)
+Added a few checks for valid buffer, did that help?
+
+Check findoption() return value.
+Other coverity false positives?
+
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
 Win32: Describe how to do debugging. (George Reilly)
@@ -777,6 +786,7 @@ 8   When the builtin xterm termcap conta
 8   Xterm sends ^[[H for <Home> and ^[[F for <End> in some mode.  Also
     recognize these keys?  Mostly useful for xterm simulators, like gnometerm.
     See http://dickey.his.com/xterm/xterm.faq.html#xterm_pc_style.
+8   For xterm also recognize keypad up/down/left/right and insert.
 8   '[ and '] should be set to start/end of line when using a linewise operator
     (e.g., ":w").
 8   CTRL-A can't handle big "long" numbers, they become negative.  Check for
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 18
+*version7.txt*  For Vim version 7.0e.  Last change: 2006 Apr 19
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2556,4 +2556,7 @@ the tab page label was wrong and an erro
 
 The taglist() function could hang on a tags line with a non-ASCII character.
 
+Win32: When 'encoding' differs from the system encoding tab page labels with
+non-ASCII characters looked wrong. (Yegappan Lakshmanan)
+
  vim:tw=78:ts=8:ft=help:norl:
--- a/runtime/filetype.vim
+++ b/runtime/filetype.vim
@@ -1,7 +1,7 @@
 " Vim support file to detect file types
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2006 Apr 18
+" Last Change:	2006 Apr 19
 
 " Listen very carefully, I will say this only once
 if exists("did_load_filetypes")
@@ -2082,6 +2082,9 @@ au! BufNewFile,BufRead *jarg*
 	\|  call s:StarSetf('jargon')
 	\|endif
 
+" Kconfig
+au BufNewFile,BufRead Kconfig.*			call s:StarSetf('kconfig')
+
 " Makefile
 au BufNewFile,BufRead [mM]akefile*		call s:StarSetf('make')
 
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/initex.vim
@@ -0,0 +1,38 @@
+" filetype plugin for TeX and variants
+" Language:     TeX (ft=initex)
+" Maintainer:   Benji Fisher, Ph.D. <benji@member.AMS.org>
+" Version:	1.0
+" Last Change:	Wed 19 Apr 2006
+
+" Only do this when not done yet for this buffer.
+if exists("b:did_ftplugin")
+  finish
+endif
+
+" Don't load another plugin for this buffer.
+let b:did_ftplugin = 1
+
+" Avoid problems if running in 'compatible' mode.
+let s:save_cpo = &cpo
+set cpo&vim
+
+let b:undo_ftplugin = "setl com< cms< define< include< sua<"
+
+" Set 'comments' to format dashed lists in comments
+setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
+
+" Set 'commentstring' to recognize the % comment character:
+" (Thanks to Ajit Thakkar.)
+setlocal cms=%%s
+
+" Allow "[d" to be used to find a macro definition:
+let &l:define='\\\([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
+	\ .	'def\|\\font\|\\\(future\)\=let'
+
+" Tell Vim to recognize \input bar :
+let &l:include = '\\input'
+setlocal suffixesadd=.tex
+
+let &cpo = s:save_cpo
+
+" vim:sts=2:sw=2:
--- a/runtime/ftplugin/kconfig.vim
+++ b/runtime/ftplugin/kconfig.vim
@@ -10,5 +10,3 @@ let b:did_ftplugin = 1
 let b:undo_ftplugin = "setl com< cms< fo<"
 
 setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
-
-
new file mode 100644
--- /dev/null
+++ b/runtime/ftplugin/mailaliases.vim
@@ -0,0 +1,12 @@
+" Vim filetype plugin file
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-03-27
+
+if exists("b:did_ftplugin")
+  finish
+endif
+let b:did_ftplugin = 1
+
+let b:undo_ftplugin = "setl com< cms< fo<"
+
+setlocal comments=:# commentstring=#\ %s formatoptions-=t formatoptions+=croql
--- a/runtime/ftplugin/plaintex.vim
+++ b/runtime/ftplugin/plaintex.vim
@@ -1,46 +1,34 @@
 " plain TeX filetype plugin
 " Language:     plain TeX (ft=plaintex)
 " Maintainer:   Benji Fisher, Ph.D. <benji@member.AMS.org>
-" Version:	1.0
-" Last Change:	Wed 22 Mar 2006 09:36:32 AM EST
+" Version:	1.1
+" Last Change:	Wed 19 Apr 2006
 
 " Only do this when not done yet for this buffer.
 if exists("b:did_ftplugin")
   finish
 endif
 
-" Don't load another plugin for this buffer.
-let b:did_ftplugin = 1
+" Start with initex.  This will also define b:did_ftplugin and b:undo_ftplugin .
+source $VIMRUNTIME/ftplugin/initex.vim
 
 " Avoid problems if running in 'compatible' mode.
 let s:save_cpo = &cpo
 set cpo&vim
 
-" Set 'comments' to format dashed lists in comments
-setlocal com=sO:%\ -,mO:%\ \ ,eO:%%,:%
-
-" Set 'commentstring' to recognize the % comment character:
-" (Thanks to Ajit Thakkar.)
-setlocal cms=%%s
+let b:undo_ftplugin .= "| unlet! b:match_ignorecase b:match_skip b:match_words"
 
 " Allow "[d" to be used to find a macro definition:
-let &l:define='\\\([egx]\|char\|mathchar\|count\|dimen\|muskip\|skip\|toks\)\='
-	\ .	'def\|\\font\|\\\(future\)\=let'
-	\ . '\|\\new\(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
+let &l:define .= '\|\\new\(count\|dimen\|skip\|muskip\|box\|toks\|read\|write'
 	\ .	'\|fam\|insert\)'
 
-" Tell Vim to recognize \input bar :
-let &l:include = '\\input'
-setlocal suffixesadd=.tex
-
 " The following lines enable the macros/matchit.vim plugin for
 " extended matching with the % key.
 " There is no default meaning for \(...\) etc., but many users define one.
 if exists("loaded_matchit")
   let b:match_ignorecase = 0
     \ | let b:match_skip = 'r:\\\@<!\%(\\\\\)*%'
-    \ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],' .
-    \ '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
+    \ | let b:match_words = '(:),\[:],{:},\\(:\\),\\\[:\\],\\{:\\}'
 endif " exists("loaded_matchit")
 
 let &cpo = s:save_cpo
--- a/runtime/ftplugin/tex.vim
+++ b/runtime/ftplugin/tex.vim
@@ -1,8 +1,8 @@
 " LaTeX filetype plugin
 " Language:     LaTeX (ft=tex)
 " Maintainer:   Benji Fisher, Ph.D. <benji@member.AMS.org>
-" Version:	1.3
-" Last Change:	Wed 22 Mar 2006 09:36:32 AM EST
+" Version:	1.4
+" Last Change:	Wed 19 Apr 2006
 "  URL:		http://www.vim.org/script.php?script_id=411
 
 " Only do this when not done yet for this buffer.
@@ -17,6 +17,8 @@ source $VIMRUNTIME/ftplugin/plaintex.vim
 let s:save_cpo = &cpo
 set cpo&vim
 
+let b:undo_ftplugin .= "| setl inex<"
+
 " Allow "[d" to be used to find a macro definition:
 " Recognize plain TeX \def as well as LaTeX \newcommand and \renewcommand .
 " I may as well add the AMS-LaTeX DeclareMathOperator as well.
@@ -33,9 +35,9 @@ let &l:includeexpr = "substitute(v:fname
 " The following lines enable the macros/matchit.vim plugin for
 " extended matching with the % key.
 " ftplugin/plaintex.vim already defines b:match_skip and b:match_ignorecase
-" and matches \(, \), \[, and \].
+" and matches \(, \), \[, \], \{, and \} .
 if exists("loaded_matchit")
-  let b:match_words .= '\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
+  let b:match_words .= ',\\begin\s*\({\a\+\*\=}\):\\end\s*\1'
 endif " exists("loaded_matchit")
 
 let &cpo = s:save_cpo
--- a/runtime/lang/menu_zh_cn.utf-8.vim
+++ b/runtime/lang/menu_zh_cn.utf-8.vim
@@ -1,6 +1,8 @@
-" Menu Translations:	Simplified Chinese (UTF-8)
-" Translated By:	Wang Jun <junw@turbolinux.com.cn>
-" Last Change:		Tue Sep  4 11:26:52 CST 2001
+" Menu Translations:	Simplified Chinese <i18n-translation@lists.linux.net.cn>
+" Translated By:	Yuheng Xie <elephant@linux.net.cn>
+" Last Change:		Tue Apr 18 22:00:00 2006
+
+" vim: ts=8 sw=8 noet
 
 " Quit when menu translations have already been done.
 if exists("did_menu_trans")
@@ -14,62 +16,68 @@ scriptencoding utf-8
 menutrans &Help			帮助(&H)
 menutrans &Overview<Tab><F1>	预览(&O)<Tab><F1>
 menutrans &User\ Manual		用户手册(&U)
-menutrans &GUI			图形界é¢(&G)
-menutrans &How-to\ links	HOWTO文档\.\.\.(&H)
+menutrans &How-to\ links	How-to\ 连接(&H)
+menutrans &Find\.\.\.		查找(&F)\.\.\.
 menutrans &Credits		作者(&C)
 menutrans Co&pying		版æƒ(&P)
 menutrans &Version		版本(&V)
-menutrans &About		关于\ Vim(&A)
+menutrans &Sponsor/Register	赞助/注册(&S)
+menutrans O&rphans		孤儿(&R)
+menutrans &Version		版本(&V)
+menutrans &About		关于(&A)
 
 " File menu
 menutrans &File				文件(&F)
 menutrans &Open\.\.\.<Tab>:e		打开(&O)\.\.\.<Tab>:e
-menutrans Sp&lit-Open\.\.\.<Tab>:sp	分割窗å£å¹¶æ‰“å¼€(&L)<Tab>:sp
+menutrans Sp&lit-Open\.\.\.<Tab>:sp	分割并打开(&L)\.\.\.<Tab>:sp
+menutrans Open\ Tab\.\.\.<Tab>:tabnew	打开标签\.\.\.<Tab>:tabnew
 menutrans &New<Tab>:enew		新建(&N)<Tab>:enew
 menutrans &Close<Tab>:close		关闭(&C)<Tab>:close
 menutrans &Save<Tab>:w			ä¿å­˜(&S)<Tab>:w
 menutrans Save\ &As\.\.\.<Tab>:sav	å¦å­˜ä¸º(&A)\.\.\.<Tab>:sav
-menutrans Split\ &Diff\ with\.\.\.	分割比较(&Diff)\.\.\.
-menutrans Split\ Patched\ &By\.\.\.	分割打补ä¸(&Patch)\.\.\.
+menutrans Split\ &Diff\ with\.\.\.	分割比较(Diff)(&D)\.\.\.
+menutrans Split\ Patched\ &By\.\.\.	分割打补ä¸(Patch)(&B)\.\.\.
 menutrans &Print			打å°(&P)
 menutrans Sa&ve-Exit<Tab>:wqa		ä¿å­˜å¹¶é€€å‡º(&V)<Tab>:wqa
 menutrans E&xit<Tab>:qa			退出(&X)<Tab>:qa
 
 " Edit menu
 menutrans &Edit				编辑(&E)
-menutrans &Undo<Tab>u			æ¢å¤(&U)<Tab>u
+menutrans &Undo<Tab>u			撤销(&U)<Tab>u
 menutrans &Redo<Tab>^R			é‡åš(&R)<Tab>^R
-menutrans Rep&eat<Tab>\.		é‡å¤ä¸Šæ¬¡åŠ¨ä½œ(&E)<Tab>\.
+menutrans Rep&eat<Tab>\.		é‡å¤ä¸Šæ¬¡æ“作(&E)<Tab>\.
 menutrans Cu&t<Tab>"+x			剪切(&T)<Tab>"+x
 menutrans &Copy<Tab>"+y			å¤åˆ¶(&C)<Tab>"+y
-menutrans &Paste<Tab>"+gP		粘帖(&P)<Tab>"+gP
-menutrans Put\ &Before<Tab>[p		贴到光标å‰(&B)<Tab>[p
-menutrans Put\ &After<Tab>]p		贴到光标åŽ(&A)<Tab>]p
+menutrans &Paste<Tab>"+gP		粘贴(&P)<Tab>"+gP
+menutrans Put\ &Before<Tab>[p		粘贴到光标å‰(&B)<Tab>[p
+menutrans Put\ &After<Tab>]p		粘贴到光标åŽ(&A)<Tab>]p
 menutrans &Delete<Tab>x			删除(&D)<Tab>x
-menutrans &Select\ all<Tab>ggVG		全选(&S)<Tab>ggvG
+menutrans &Select\ all<Tab>ggVG		全选(&S)<Tab>ggVG
 menutrans &Find\.\.\.			查找(&F)\.\.\.
-menutrans Find\ and\ Rep&lace\.\.\.	查找替æ¢(&L)\.\.\.
+menutrans Find\ and\ Rep&lace\.\.\.	查找和替æ¢(&L)\.\.\.
+menutrans &Find<Tab>/			查找(&F)<Tab>/
+menutrans Find\ and\ Rep&lace<Tab>:%s	查找和替æ¢(&L)<Tab>:%s
 menutrans Settings\ &Window		设定窗å£(&W)
+menutrans Startup\ &Settings		å¯åŠ¨è®¾å®š(&S)
 menutrans &Global\ Settings		全局设定(&G)
 
-" Build boolean options
-menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	å¼€/关增é‡æŸ¥æ‰¾æ¨¡å¼<Tab>:set\ hls!
-menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		å¼€/关忽略大å°å†™æ¨¡å¼<Tab>:set\ ic!
-menutrans Toggle\ &Showmatch<Tab>:set\ sm!		å¼€/关匹é…显示<Tab>:set sm!
+" Edit/Global Settings
+menutrans Toggle\ Pattern\ &Highlight<Tab>:set\ hls!	å¼€/关模å¼é«˜äº®(&H)<Tab>:set\ hls!
+menutrans Toggle\ &Ignore-case<Tab>:set\ ic!		å¼€/关忽略大å°å†™(&I)<Tab>:set\ ic!
+menutrans Toggle\ &Showmatch<Tab>:set\ sm!		å¼€/关显示é…对(&S)<Tab>:set\ sm!
 menutrans &Context\ lines			上下文行数(&C)
 
-menutrans &Virtual\ Edit			å¯è§†åŒ–编辑模å¼(&V)
+menutrans &Virtual\ Edit			虚拟编辑(&V)
 menutrans Never					从ä¸
 menutrans Block\ Selection			å—选择
 menutrans Insert\ mode				æ’入模å¼
-menutrans Block\ and\ Insert			å—选择与æ’入模å¼
-menutrans Always				所有模å¼
+menutrans Block\ and\ Insert			å—选择和æ’入模å¼
+menutrans Always				总是
 
-menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	å¼€/å…³æ’入模å¼<Tab>:set\ im!
-
-menutrans Search\ &Path\.\.\.			查找路径\.\.\.(&P)
-
-menutrans Ta&g\ Files\.\.\.			标签文件\.\.\.(&g)
+menutrans Toggle\ Insert\ &Mode<Tab>:set\ im!	å¼€/å…³æ’入模å¼(&M)<Tab>:set\ im!
+menutrans Toggle\ Vi\ C&ompatible<Tab>:set\ cp!	开/关\ Vi\ 兼容<Tab>:set\ cp!
+menutrans Search\ &Path\.\.\.			查找路径(&P)\.\.\.
+menutrans Ta&g\ Files\.\.\.			Tag\ 文件(&T)\.\.\.
 
 " GUI options
 menutrans Toggle\ &Toolbar			å¼€/关工具æ¡(&T)
@@ -77,87 +85,111 @@ menutrans Toggle\ &Bottom\ Scrollbar		å¼€/关底部滚动æ¡(&B)
 menutrans Toggle\ &Left\ Scrollbar		å¼€/关左端滚动æ¡(&L)
 menutrans Toggle\ &Right\ Scrollbar		å¼€/å…³å³ç«¯æ»šåŠ¨æ¡(&R)
 
-
 " Edit/File Settings
-menutrans F&ile\ Settings			文件设定(&i)
+menutrans F&ile\ Settings			文件设定(&I)
 
 " Boolean options
-menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	å¼€/关显示行å·<Tab>:set\ nu!
-menutrans Toggle\ &List\ Mode<Tab>:set\ list!		开/关显示Tab<Tab>:set\ list!
-menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!		开/关自动折行<Tab>:set\ wrap!
-menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!	å¼€/å…³è¯å°¾æŠ˜è¡Œ<Tab>:set\ lbr!
-menutrans Toggle\ &expand-tab<Tab>:set\ et!		å¼€/å…³expand-tab<Tab>:set\ et!
-menutrans Toggle\ &auto-indent<Tab>:set\ ai!		å¼€/å…³auto-indent<Tab>:set\ ai!
-menutrans Toggle\ &C-indenting<Tab>:set\ cin!		å¼€/å…³C-indent<Tab>:set\ cin!
-
+menutrans Toggle\ Line\ &Numbering<Tab>:set\ nu!	å¼€/关显示行å·(&N)<Tab>:set\ nu!
+menutrans Toggle\ &List\ Mode<Tab>:set\ list!		å¼€/å…³\ list\ 模å¼(&L)<Tab>:set\ list!
+menutrans Toggle\ Line\ &Wrap<Tab>:set\ wrap!		开/关折行(&W)<Tab>:set\ wrap!
+menutrans Toggle\ W&rap\ at\ word<Tab>:set\ lbr!	å¼€/关整è¯æŠ˜è¡Œ(&R)<Tab>:set\ lbr!
+menutrans Toggle\ &expand-tab<Tab>:set\ et!		开/关扩展\ tab(&E)<Tab>:set\ et!
+menutrans Toggle\ &auto-indent<Tab>:set\ ai!		开/关自动缩进(&A)<Tab>:set\ ai!
+menutrans Toggle\ &C-indenting<Tab>:set\ cin!		开/关\ C\ 缩进(&C)<Tab>:set\ cin!
 
 " other options
-menutrans &Shiftwidth			缩排宽度(&S)
-menutrans Soft\ &Tabstop		伪Tab宽度(&T)
-menutrans Te&xt\ Width\.\.\.		页é¢å®½åº¦(&x)\.\.\.
+menutrans &Shiftwidth			缩进宽度(&S)
+menutrans Soft\ &Tabstop		Soft\ Tab\ 宽度(&T)
+menutrans Te&xt\ Width\.\.\.		文本宽度(&X)\.\.\.
 menutrans &File\ Format\.\.\.		文件格å¼(&F)\.\.\.
-
-menutrans C&olor\ Scheme		调色æ¿(&o)
-menutrans Select\ Fo&nt\.\.\.		选择字体(&n)\.\.\.
-
+menutrans C&olor\ Scheme		é…色方案(&O)
+menutrans Select\ Fo&nt\.\.\.		选择字体(&N)\.\.\.
+menutrans &Keymap			Keymap(&K)
 
 " Programming menu
 menutrans &Tools			工具(&T)
-menutrans &Jump\ to\ this\ tag<Tab>g^]	检索光标处的标签关键字(tag)(&J)<Tab>g^]
-menutrans Jump\ &back<Tab>^T		跳回检索å‰çš„ä½ç½®(&B)<Tab>^T
-menutrans Build\ &Tags\ File		建立标签索引文件\ Tags(&T)
-menutrans &Folding			Folding设定(&F)
-menutrans &Diff				比较(&D)
-menutrans &Make<Tab>:make		执行\ Make(&M)<Tab>:make
-menutrans &List\ Errors<Tab>:cl		列出编译错误(&E)<Tab>:cl
-menutrans L&ist\ Messages<Tab>:cl!	列出所有信æ¯(&I)<Tab>:cl!
-menutrans &Next\ Error<Tab>:cn		下一个编译错误处(&N)<Tab>:cn
-menutrans &Previous\ Error<Tab>:cp	上一个编译错误处(&P)<Tab>:cp
-menutrans &Older\ List<Tab>:cold	旧错误列表(&O)<Tab>:cold
-menutrans N&ewer\ List<Tab>:cnew	新错误列表(&E)<Tab>:cnew
-menutrans Error\ &Window		错误信æ¯çª—å£(&W)
-menutrans &Set\ Compiler		设置编译器(&S)
-menutrans &Convert\ to\ HEX<Tab>:%!xxd	转æ¢æˆ16进制<Tab>:%!xxd
-menutrans Conve&rt\ back<Tab>:%!xxd\ -r	从16进制转æ¢å›žæ–‡å­—<Tab>:%!xxd\ -r
+menutrans &Jump\ to\ this\ tag<Tab>g^]	跳转到这个\ tag(&J)<Tab>g^]
+menutrans Jump\ &back<Tab>^T		跳转返回(&B)<Tab>^T
+menutrans Build\ &Tags\ File		建立 Tags 文件(&T)
+
+" Tools.Spelling Menu
+menutrans &Spelling				拼写检查(&S)
+menutrans &Spell\ Check\ On			打开拼写检查(&S)
+menutrans Spell\ Check\ &Off			关闭拼写检查(&O)
+menutrans To\ &Next\ error<Tab>]s		上一个错误(&N)<Tab>]s
+menutrans To\ &Previous\ error<Tab>[s		下一个错误(&P)<Tab>[s
+menutrans Suggest\ &Corrections<Tab>z=		修正建议(&C)<Tab>z=
+menutrans &Repeat\ correction<Tab>:spellrepall	é‡å¤ä¿®æ­£(&R)<Tab>:spellrepall
+menutrans Set\ language\ to\ "en"		设定语言为\ "en"
+menutrans Set\ language\ to\ "en_au"		设定语言为\ "en_au"
+menutrans Set\ language\ to\ "en_ca"		设定语言为\ "en_ca"
+menutrans Set\ language\ to\ "en_gb"		设定语言为\ "en_gb"
+menutrans Set\ language\ to\ "en_nz"		设定语言为\ "en_nz"
+menutrans Set\ language\ to\ "en_us"		设定语言为\ "en_us"
+menutrans &Find\ More\ Languages		查找更多语言(&F)
 
 " Tools.Fold Menu
-menutrans &Enable/Disable\ folds<Tab>zi		使用/ä¸ä½¿ç”¨Folding(&E)<Tab>zi
+" open close folds
+menutrans &Folding				折å (&F)
+menutrans &Enable/Disable\ folds<Tab>zi		å¯ç”¨/ç¦ç”¨æŠ˜å (&E)<Tab>zi
 menutrans &View\ Cursor\ Line<Tab>zv		查看此行(&V)<Tab>zv
-menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx	åªæŸ¥çœ‹æ­¤è¡Œ(&W)<Tab>zMzx
-menutrans C&lose\ more\ folds<Tab>zm		关闭Folds(&L)<Tab>zm
-menutrans &Close\ all\ folds<Tab>zM		关闭所有Folds(&C)<Tab>zM
-menutrans O&pen\ more\ folds<Tab>zr		展开Folds(&P)<Tab>zr
-menutrans &Open\ all\ folds<Tab>zR		展开所有Folds(&O)<Tab>zR
+menutrans Vie&w\ Cursor\ Line\ only<Tab>zMzx	仅查看此行(&W)<Tab>zMzx
+menutrans C&lose\ more\ folds<Tab>zm		关闭更多折å (&L)<Tab>zm
+menutrans &Close\ all\ folds<Tab>zM		关闭所有折å (&C)<Tab>zM
+menutrans O&pen\ more\ folds<Tab>zr		打开更多折å (&P)<Tab>zr
+menutrans &Open\ all\ folds<Tab>zR		打开所有折å (&O)<Tab>zR
 " fold method
-menutrans Fold\ Met&hod				Foldæ–¹å¼(&H)
-menutrans Create\ &Fold<Tab>zf			建立Fold(&F)<Tab>zf
-menutrans &Delete\ Fold<Tab>zd			删除Fold(&D)<Tab>zd
-menutrans Delete\ &All\ Folds<Tab>zD		删除所有Fold(&A)<Tab>zD
+menutrans Fold\ Met&hod			折å æ–¹æ³•(&H)
+menutrans M&anual			手工(&A)
+menutrans I&ndent			缩进(&N)
+menutrans E&xpression			表达å¼(&X)
+menutrans S&yntax			语法(&Y)
+menutrans &Diff				比较(Diff)(&D)
+menutrans Ma&rker			标记(&R)
+" create and delete folds
+menutrans Create\ &Fold<Tab>zf		创建折å (&F)<Tab>zf
+menutrans &Delete\ Fold<Tab>zd		删除折å (&D)<Tab>zd
+menutrans Delete\ &All\ Folds<Tab>zD	删除所有折å (&A)<Tab>zD
 " moving around in folds
-menutrans Fold\ column\ &width			设定Foldæ å®½(&W)
+menutrans Fold\ column\ &width		折å æ å®½åº¦(&W)
 
 " Tools.Diff Menu
-menutrans &Update		æ›´æ–°(&U)
-menutrans &Get\ Block		å–å¾—ä¸åŒéƒ¨åˆ†(&G)
-menutrans &Put\ Block		å°†ä¸åŒéƒ¨åˆ†åº”用到对方(&P)
+menutrans &Diff				比较(Diff)(&D)
+menutrans &Update			æ›´æ–°(&U)
+menutrans &Get\ Block			得到å—(&G)
+menutrans &Put\ Block			放置å—(&P)
 
+menutrans &Make<Tab>:make		Make(&M)<Tab>:make
+menutrans &List\ Errors<Tab>:cl		列出错误(&L)<Tab>:cl
+menutrans L&ist\ Messages<Tab>:cl!	列出消æ¯(&I)<Tab>:cl!
+menutrans &Next\ Error<Tab>:cn		下一个错误(&N)<Tab>:cn
+menutrans &Previous\ Error<Tab>:cp	上一个错误(&P)<Tab>:cp
+menutrans &Older\ List<Tab>:cold	更旧的错误列表(&O)<Tab>:cold
+menutrans N&ewer\ List<Tab>:cnew	更新的错误列表(&E)<Tab>:cnew
+menutrans Error\ &Window		错误窗å£(&W)
+menutrans &Update<Tab>:cwin		æ›´æ–°(&U)<Tab>:cwin
+menutrans &Open<Tab>:copen		打开(&O)<Tab>:copen
+menutrans &Close<Tab>:cclose		关闭(&C)<Tab>:cclose
+menutrans &Convert\ to\ HEX<Tab>:%!xxd	转æ¢æˆå六进制<Tab>:%!xxd
+menutrans Conve&rt\ back<Tab>:%!xxd\ -r	转æ¢è¿”回<Tab>:%!xxd\ -r
+menutrans Se&T\ Compiler		设定编译器(&T)
 
 " Names for buffer menu.
 menutrans &Buffers		缓冲区(&B)
-menutrans &Refresh\ menu	æ›´æ–°(&R)
+menutrans &Refresh\ menu	æ›´æ–°èœå•(&R)
 menutrans &Delete		删除(&D)
-menutrans &Alternate		修改(&L)
+menutrans &Alternate		交替(&A)
 menutrans &Next			下一个(&N)
-menutrans &Previous		å‰ä¸€ä¸ª(&P)
+menutrans &Previous		上一个(&P)
 
 " Window menu
 menutrans &Window			窗å£(&W)
-menutrans &New<Tab>^Wn			新建窗å£(&N)<Tab>^Wn
-menutrans S&plit<Tab>^Ws		分割窗å£(&P)<Tab>^Ws
-menutrans Sp&lit\ To\ #<Tab>^W^^	分割到#(&L)<Tab>^W^^
+menutrans &New<Tab>^Wn			新建(&N)<Tab>^Wn
+menutrans S&plit<Tab>^Ws		分割(&P)<Tab>^Ws
+menutrans Sp&lit\ To\ #<Tab>^W^^	分割到\ #(&L)<Tab>^W^^
 menutrans Split\ &Vertically<Tab>^Wv	垂直分割(&V)<Tab>^Wv
-menutrans Split\ File\ E&xplorer	文件æµè§ˆå™¨å¼åˆ†å‰²(&X)
-menutrans &Close<Tab>^Wc		关闭窗å£(&C)<Tab>^Wc
+menutrans Split\ File\ E&xplorer	分割文件æµè§ˆå™¨(&X)
+menutrans &Close<Tab>^Wc		关闭(&C)<Tab>^Wc
 menutrans Close\ &Other(s)<Tab>^Wo	关闭其它窗å£(&O)<Tab>^Wo
 menutrans Move\ &To			移动到(&T)
 menutrans &Top<Tab>^WK			顶端(&T)<Tab>^WK
@@ -166,13 +198,13 @@ menutrans &Left\ side<Tab>^WH		左边(&L)<Tab>^WH
 menutrans &Right\ side<Tab>^WL		å³è¾¹(&R)<Tab>^WL
 " menutrans Ne&xt<Tab>^Ww		下一个(&X)<Tab>^Ww
 " menutrans P&revious<Tab>^WW		上一个(&R)<Tab>^WW
-menutrans Rotate\ &Up<Tab>^WR		上移窗å£(&U)<Tab>^WR
-menutrans Rotate\ &Down<Tab>^Wr		下移窗å£(&D)<Tab>^Wr
-menutrans &Equal\ Size<Tab>^W=		所有窗å£ç­‰é«˜(&E)<Tab>^W=
+menutrans Rotate\ &Up<Tab>^WR		å‘上轮æ¢(&U)<Tab>^WR
+menutrans Rotate\ &Down<Tab>^Wr		å‘下轮æ¢(&D)<Tab>^Wr
+menutrans &Equal\ Size<Tab>^W=		等大(&E)<Tab>^W=
 menutrans &Max\ Height<Tab>^W_		最大高度(&M)<Tab>^W
-menutrans M&in\ Height<Tab>^W1_		最å°é«˜åº¦(&i)<Tab>^W1_
+menutrans M&in\ Height<Tab>^W1_		最å°é«˜åº¦(&I)<Tab>^W1_
 menutrans Max\ &Width<Tab>^W\|		最大宽度(&W)<Tab>^W\|
-menutrans Min\ Widt&h<Tab>^W1\|		最å°å®½åº¦(&h)<Tab>^W1\|
+menutrans Min\ Widt&h<Tab>^W1\|		最å°å®½åº¦(&H)<Tab>^W1\|
 "
 " The popup menu
 menutrans &Undo			撤销(&U)
@@ -180,8 +212,10 @@ menutrans Cu&t			剪切(&T)
 menutrans &Copy			å¤åˆ¶(&C)
 menutrans &Paste		粘帖(&P)
 menutrans &Delete		删除(&D)
-menutrans Select\ Blockwise	Blockwise选择
+menutrans Select\ Blockwise	选择å—
 menutrans Select\ &Word		选择å•è¯(&W)
+menutrans Select\ &Sentence	选择å¥å­(&S)
+menutrans Select\ Pa&ragraph	选择段è½(&R)
 menutrans Select\ &Line		选择行(&L)
 menutrans Select\ &Block	选择å—(&B)
 menutrans Select\ &All		全选(&A)
@@ -196,35 +230,35 @@ if has("toolbar")
     tmenu ToolBar.Save		ä¿å­˜å½“å‰æ–‡ä»¶
     tmenu ToolBar.SaveAll	ä¿å­˜å…¨éƒ¨æ–‡ä»¶
     tmenu ToolBar.Print		打å°
-    tmenu ToolBar.Undo		撤销上次修改
-    tmenu ToolBar.Redo		é‡åšä¸Šæ¬¡æ’¤é”€çš„动作
-    tmenu ToolBar.Cut		剪切至剪贴æ¿
+    tmenu ToolBar.Undo		撤销
+    tmenu ToolBar.Redo		é‡åš
+    tmenu ToolBar.Cut		剪切到剪贴æ¿
     tmenu ToolBar.Copy		å¤åˆ¶åˆ°å‰ªè´´æ¿
-    tmenu ToolBar.Paste		由剪贴æ¿ç²˜å¸–
+    tmenu ToolBar.Paste		从剪贴æ¿ç²˜å¸–
     tmenu ToolBar.Find		查找...
     tmenu ToolBar.FindNext	查找下一个
     tmenu ToolBar.FindPrev	查找上一个
-    tmenu ToolBar.Replace	替æ¢...
+    tmenu ToolBar.Replace	查找和替æ¢...
     tmenu ToolBar.LoadSesn	加载会è¯
-    tmenu ToolBar.SaveSesn	ä¿å­˜å½“å‰çš„会è¯
-    tmenu ToolBar.RunScript	è¿è¡ŒVim脚本
-    tmenu ToolBar.Make		执行 Make
-    tmenu ToolBar.Shell		打开一个命令窗å£
-    tmenu ToolBar.RunCtags	执行 ctags
-    tmenu ToolBar.TagJump	跳到当å‰å…‰æ ‡ä½ç½®çš„标签
+    tmenu ToolBar.SaveSesn	ä¿å­˜å½“å‰ä¼šè¯
+    tmenu ToolBar.RunScript	è¿è¡Œ Vim 脚本
+    tmenu ToolBar.Make		执行 Make (:make)
+    tmenu ToolBar.RunCtags	在当å‰ç›®å½•å»ºç«‹ tags (!ctags -R .)
+    tmenu ToolBar.TagJump	跳转到光标ä½ç½®çš„ tag
     tmenu ToolBar.Help		Vim 帮助
     tmenu ToolBar.FindHelp	查找 Vim 帮助
   endfun
 endif
 
 " Syntax menu
-menutrans &Syntax		语法(&S)
-menutrans Set\ '&syntax'\ only	åªè®¾å®š\ 'syntax'(&s)
-menutrans Set\ '&filetype'\ too	也设定\ 'filetype'(&f)
-menutrans &Off			关闭(&O)
-menutrans &Manual		手动设定(&M)
-menutrans A&utomatic		自动设定(&U)
-menutrans on/off\ for\ &This\ file	åªå¯¹è¿™ä¸ªæ–‡ä»¶æ‰“å¼€/关闭(&T)
-menutrans Co&lor\ test		色彩显示测试(&L)
-menutrans &Highlight\ test	语法效果测试(&H)
-menutrans &Convert\ to\ HTML	转æ¢æˆ\ HTML\ æ ¼å¼(&C)
+menutrans &Syntax			语法(&S)
+menutrans &Manual			手工(&M)
+menutrans A&utomatic			自动(&U)
+menutrans on/off\ for\ &This\ file	仅对这个文件开/关(&T)
+menutrans &Show\ filetypes\ in\ menu	在èœå•ä¸­æ˜¾ç¤ºæ–‡ä»¶ç±»åž‹(&S)
+menutrans &Off				关闭(&O)
+menutrans Co&lor\ test			色彩测试(&L)
+menutrans &Highlight\ test		高亮测试(&H)
+menutrans &Convert\ to\ HTML		转æ¢æˆ\ HTML(&C)
+menutrans Set\ '&syntax'\ only		仅设定\ 'syntax'(&S)
+menutrans Set\ '&filetype'\ too		也设定\ 'filetype'(&F)
--- a/runtime/syntax/2html.vim
+++ b/runtime/syntax/2html.vim
@@ -1,6 +1,6 @@
 " Vim syntax support file
 " Maintainer: Bram Moolenaar <Bram@vim.org>
-" Last Change: 2006 Apr 18
+" Last Change: 2006 Apr 19
 "	       (modified by David Ne\v{c}as (Yeti) <yeti@physics.muni.cz>)
 "	       (XHTML support by Panagiotis Issaris <takis@lumumba.luc.ac.be>)
 
@@ -112,9 +112,10 @@ function! s:HtmlFormat(text, style_name)
   " Replace the reserved html characters
   let formatted = substitute(substitute(substitute(substitute(substitute(formatted, '&', '\&amp;', 'g'), '<', '\&lt;', 'g'), '>', '\&gt;', 'g'), '"', '\&quot;', 'g'), "\x0c", '<hr class="PAGE-BREAK">', 'g')
   
-  " Replace double spaces
+  " Replace double spaces and leading spaces
   if ' ' != s:HtmlSpace 
     let formatted = substitute(formatted, '  ', s:HtmlSpace . s:HtmlSpace, 'g')
+    let formatted = substitute(formatted, '^ ', s:HtmlSpace, 'g')
   endif
 
   " Enclose in a span of class style_name
@@ -363,7 +364,7 @@ while s:lnum <= s:end
     let s:len = strlen(s:line)
 
     if s:numblines
-      let s:new = '<span class="lnr">' . s:new . '</span>'
+      let s:new = s:HtmlFormat(s:new, "lnr")
     endif
 
     " Get the diff attribute, if any.
@@ -419,7 +420,7 @@ if exists("html_no_pre")
   if exists("use_xhtml")
     exe "normal! a</p>\n</body>\n</html>\e"
   else
-    exe "normal! a\n</body>\n</html>\e"
+    exe "normal! a</body>\n</html>\e"
   endif
 else
   if exists("use_xhtml")
@@ -470,7 +471,7 @@ if s:numblines
   if exists("html_use_css")
     execute "normal! A\n.lnr { " . s:CSS1(hlID("LineNr")) . "}\e"
   else
-    execute '%s+<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
+    execute '%s+^<span class="lnr">\([^<]*\)</span>+' . s:HtmlOpening(hlID("LineNr")) . '\1' . s:HtmlClosing(hlID("LineNr")) . '+g'
   endif
 endif
 
deleted file mode 100644
--- a/runtime/syntax/coretex.vim
+++ /dev/null
@@ -1,377 +0,0 @@
-" Vim syntax file
-" Language:         TeX (core definition)
-" Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-03-26
-
-if exists("b:current_syntax")
-  finish
-endif
-
-let s:cpo_save = &cpo
-set cpo&vim
-
-" This follows the grouping (sort of) found at
-" http://www.tug.org/utilities/plain/cseq.html#top-fam
-
-syn keyword coretexTodo                         TODO FIXME XXX NOTE
-
-syn match coretexComment                        display contains=coretexTodo
-      \ '\\\@<!\%(\\\\\)*\zs%.*$'
-
-syn match   coretexDimension                    display contains=@NoSpell
-      \ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
-
-syn cluster coretexBox
-      \ contains=coretexBoxCommand,coretexBoxInternalQuantity,
-      \ coretexBoxParameterDimen,coretexBoxParameterInteger,
-      \ coretexBoxParameterToken
-
-syn cluster coretexCharacter
-      \ contains=coretexCharacterCommand,coretexCharacterInternalQuantity,
-      \ coretexCharacterParameterInteger
-
-syn cluster coretexDebugging
-      \ contains=coretexDebuggingCommand,coretexDebuggingParameterInteger,
-      \ coretexDebuggingParameterToken
-
-syn cluster coretexFileIO
-      \ contains=coretexFileIOCommand,coretexFileIOInternalQuantity,
-      \ coretexFileIOParameterToken
-
-syn cluster coretexFonts
-      \ contains=coretexFontsCommand,coretexFontsInternalQuantity
-
-syn cluster coretexGlue
-      \ contains=coretexGlueCommand,coretexGlueDerivedCommand
-
-syn cluster coretexHyphenation
-      \ contains=coretexHyphenationCommand,coretexHyphenationDerivedCommand,
-      \ coretexHyphenationInternalQuantity,coretexHyphenationParameterInteger
-
-syn cluster coretexInserts
-      \ contains=coretexInsertsCommand,coretexInsertsParameterDimen,
-      \ coretexInsertsParameterGlue,coretexInsertsParameterInteger
-
-syn cluster coretexJob
-      \ contains=coretexJobCommand,coretexJobInternalQuantity,
-      \ coretexJobParameterInteger
-
-syn cluster coretexKern
-      \ contains=coretexKernCommand,coretexKernInternalQuantity
-
-syn cluster coretexLogic
-      \ contains=coretexLogicCommand
-
-syn cluster coretexMacro
-      \ contains=coretexMacroCommand,coretexMacroDerivedCommand,
-      \ coretexMacroParameterInteger
-
-syn cluster coretexMarks
-      \ contains=coretexMarksCommand
-
-syn cluster coretexMath
-      \ contains=coretexMathCommand,coretexMathDerivedCommand,
-      \ coretexMathInternalQuantity,coretexMathParameterDimen,
-      \ coretexMathParameterGlue,coretexMathParameterInteger,
-      \ coretexMathParameterMuglue,coretexMathParameterToken
-
-syn cluster coretexPage
-      \ contains=coretexPageInternalQuantity,coretexPageParameterDimen,
-      \ coretexPageParameterGlue
-
-syn cluster coretexParagraph
-      \ contains=coretexParagraphCommand,coretexParagraphInternalQuantity,
-      \ coretexParagraphParameterDimen,coretexParagraphParameterGlue,
-      \ coretexParagraphParameterInteger,coretexParagraphParameterToken
-
-syn cluster coretexPenalties
-      \ contains=coretexPenaltiesCommand,coretexPenaltiesInternalQuantity,
-      \ coretexPenaltiesParameterInteger
-
-syn cluster coretexRegisters
-      \ contains=coretexRegistersCommand,coretexRegistersInternalQuantity
-
-syn cluster coretexTables
-      \ contains=coretexTablesCommand,coretexTablesParameterGlue,
-      \ coretexTablesParameterToken
-
-syn cluster coretexCommand
-      \ contains=coretexBoxCommand,coretexCharacterCommand,
-      \ coretexDebuggingCommand,coretexFileIOCommand,
-      \ coretexFontsCommand,coretexGlueCommand,
-      \ coretexHyphenationCommand,coretexInsertsCommand,
-      \ coretexJobCommand,coretexKernCommand,coretexLogicCommand,
-      \ coretexMacroCommand,coretexMarksCommand,coretexMathCommand,
-      \ coretexParagraphCommand,coretexPenaltiesCommand,coretexRegistersCommand,
-      \ coretexTablesCommand
-
-syn match   coretexBoxCommand                   display contains=@NoSpell
-      \ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
-syn match   coretexCharacterCommand             display contains=@NoSpell
-      \ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
-syn match   coretexDebuggingCommand             display contains=@NoSpell
-      \ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
-syn match   coretexFileIOCommand                display contains=@NoSpell
-      \ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
-syn match   coretexFontsCommand                 display contains=@NoSpell
-      \ '\\\%(/\|fontname\)\>'
-syn match   coretexGlueCommand                  display contains=@NoSpell
-      \ '\\\%([hv]\|un\)skip\>'
-syn match   coretexHyphenationCommand           display contains=@NoSpell
-      \ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
-syn match   coretexInsertsCommand               display contains=@NoSpell
-      \ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
-syn match   coretexJobCommand                   display contains=@NoSpell
-      \ '\\\%(dump\|end\|jobname\)\>'
-syn match   coretexKernCommand                  display contains=@NoSpell
-      \ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
-syn match   coretexLogicCommand                 display contains=@NoSpell
-      \ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
-"      \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
-syn match   coretexMacroCommand                 display contains=@NoSpell
-      \ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
-syn match   coretexMarksCommand                 display contains=@NoSpell
-      \ '\\\%(bot\|first\|top\)\=mark\>'
-syn match   coretexMathCommand                  display contains=@NoSpell
-      \ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
-syn match   coretexParagraphCommand             display contains=@NoSpell
-      \ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
-syn match   coretexPenaltiesCommand             display contains=@NoSpell
-      \ '\\\%(un\)\=penalty\>'
-syn match   coretexRegistersCommand             display contains=@NoSpell
-      \ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
-syn match   coretexTablesCommand                display contains=@NoSpell
-      \ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
-
-syn cluster coretexDerivedCommand
-      \ contains=coretexGlueDerivedCommand,coretexHyphenationDerivedCommand,
-      \ coretexMacroDerivedCommand,coretexMathDerivedCommand
-
-syn match   coretexGlueDerivedCommand           display contains=@NoSpell
-      \ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
-syn match   coretexHyphenationDerivedCommand    display contains=@NoSpell
-      \ '\\-'
-syn match   coretexMacroDerivedCommand          display contains=@NoSpell
-      \ '\\[gx]def\>'
-syn match   coretexMathDerivedCommand           display contains=@NoSpell
-      \ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
-
-syn cluster coretexInternalQuantity
-      \ contains=coretexBoxInternalQuantity,coretexCharacterInternalQuantity,
-      \ coretexFileIOInternalQuantity,coretexFontsInternalQuantity,
-      \ coretexHyphenationInternalQuantity,coretexJobInternalQuantity,
-      \ coretexKernInternalQuantity,coretexMathInternalQuantity,
-      \ coretexPageInternalQuantity,coretexParagraphInternalQuantity,
-      \ coretexPenaltiesInternalQuantity,coretexRegistersInternalQuantity
-
-syn match   coretexBoxInternalQuantity          display contains=@NoSpell
-      \ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
-syn match   coretexCharacterInternalQuantity    display contains=@NoSpell
-      \ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
-syn match   coretexFileIOInternalQuantity       display contains=@NoSpell
-      \ '\\inputlineno\>'
-syn match   coretexFontsInternalQuantity        display contains=@NoSpell
-      \ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
-syn match   coretexHyphenationInternalQuantity  display contains=@NoSpell
-      \ '\\hyphenchar\>'
-syn match   coretexJobInternalQuantity          display contains=@NoSpell
-      \ '\\deadcycles\>'
-syn match   coretexKernInternalQuantity         display contains=@NoSpell
-      \ '\\lastkern\>'
-syn match   coretexMathInternalQuantity         display contains=@NoSpell
-      \ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
-syn match   coretexPageInternalQuantity         display contains=@NoSpell
-      \ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
-syn match   coretexParagraphInternalQuantity    display contains=@NoSpell
-      \ '\\\%(prevgraf\|spacefactor\)\>'
-syn match   coretexPenaltiesInternalQuantity    display contains=@NoSpell
-      \ '\\lastpenalty\>'
-syn match   coretexRegistersInternalQuantity    display contains=@NoSpell
-      \ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
-
-syn cluster coretexParameterDimen
-      \ contains=coretexBoxParameterDimen,coretexInsertsParameterDimen,
-      \ coretexMathParameterDimen,coretexPageParameterDimen,
-      \ coretexParagraphParameterDimen
-
-syn match   coretexBoxParameterDimen            display contains=@NoSpell
-      \ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
-syn match   coretexInsertsParameterDimen        display contains=@NoSpell
-      \ '\\splitmaxdepth\>'
-syn match   coretexMathParameterDimen           display contains=@NoSpell
-      \ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
-syn match   coretexPageParameterDimen           display contains=@NoSpell
-      \ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
-syn match   coretexParagraphParameterDimen      display contains=@NoSpell
-      \ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
-
-syn cluster coretexParameterGlue
-      \ contains=coretexInsertsParameterGlue,coretexMathParameterGlue,
-      \ coretexPageParameterGlue,coretexParagraphParameterGlue,
-      \ coretexTablesParameterGlue
-
-syn match   coretexInsertsParameterGlue         display contains=@NoSpell
-      \ '\\splittopskip\>'
-syn match   coretexMathParameterGlue            display contains=@NoSpell
-      \ '\\\%(above\|below\)display\%(short\)\=skip\>'
-syn match   coretexPageParameterGlue            display contains=@NoSpell
-      \ '\\topskip\>'
-syn match   coretexParagraphParameterGlue       display contains=@NoSpell
-      \ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
-syn match   coretexTablesParameterGlue          display contains=@NoSpell
-      \ '\\tabskip\>'
-
-syn cluster coretexParameterInteger
-      \ contains=coretexBoxParameterInteger,coretexCharacterParameterInteger,
-      \ coretexDebuggingParameterInteger,coretexHyphenationParameterInteger,
-      \ coretexInsertsParameterInteger,coretexJobParameterInteger,
-      \ coretexMacroParameterInteger,coretexMathParameterInteger,
-      \ coretexParagraphParameterInteger,coretexPenaltiesParameterInteger,
-
-syn match   coretexBoxParameterInteger          display contains=@NoSpell
-      \ '\\[hv]badness\>'
-syn match   coretexCharacterParameterInteger    display contains=@NoSpell
-      \ '\\\%(\%(endline\|escape\|newline\)char\)\>'
-syn match   coretexDebuggingParameterInteger    display contains=@NoSpell
-      \ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
-syn match   coretexHyphenationParameterInteger  display contains=@NoSpell
-      \ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
-syn match   coretexInsertsParameterInteger      display contains=@NoSpell
-      \ '\\\%(holdinginserts\)\>'
-syn match   coretexJobParameterInteger          display contains=@NoSpell
-      \ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
-syn match   coretexMacroParameterInteger        display contains=@NoSpell
-      \ '\\globaldefs\>'
-syn match   coretexMathParameterInteger         display contains=@NoSpell
-      \ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
-syn match   coretexParagraphParameterInteger    display contains=@NoSpell
-      \ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
-syn match   coretexPenaltiesParameterInteger    display contains=@NoSpell
-      \ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
-
-syn cluster coretexParameterMuglue
-      \ contains=coretexMathParameterMuglue
-
-syn match   coretexMathParameterMuglue          display contains=@NoSpell
-      \ '\\\%(med\|thick\|thin\)muskip\>'
-
-syn cluster coretexParameterDimen
-      \ contains=coretexBoxParameterToken,coretexDebuggingParameterToken,
-      \ coretexFileIOParameterToken,coretexMathParameterToken,
-      \ coretexParagraphParameterToken,coretexTablesParameterToken
-
-syn match   coretexBoxParameterToken            display contains=@NoSpell
-      \ '\\every[hv]box\>'
-syn match   coretexDebuggingParameterToken      display contains=@NoSpell
-      \ '\\errhelp\>'
-syn match   coretexFileIOParameterToken         display contains=@NoSpell
-      \ '\\output\>'
-syn match   coretexMathParameterToken           display contains=@NoSpell
-      \ '\\every\%(display\|math\)\>'
-syn match   coretexParagraphParameterToken      display contains=@NoSpell
-      \ '\\everypar\>'
-syn match   coretexTablesParameterToken         display contains=@NoSpell
-      \ '\\everycr\>'
-
-
-hi def link coretexCharacter                    Character
-hi def link coretexNumber                       Number
-
-hi def link coretexIdentifier                   Identifier
-
-hi def link coretexStatement                    Statement
-hi def link coretexConditional                  Conditional
-
-hi def link coretexPreProc                      PreProc
-hi def link coretexMacro                        Macro
-
-hi def link coretexType                         Type
-
-hi def link coretexDebug                        Debug
-
-hi def link coretexTodo                         Todo
-hi def link coretexComment                      Comment
-hi def link coretexDimension                    coretexNumber
-
-hi def link coretexCommand                      coretexStatement
-hi def link coretexBoxCommand                   coretexCommand
-hi def link coretexCharacterCommand             coretexCharacter
-hi def link coretexDebuggingCommand             coretexDebug
-hi def link coretexFileIOCommand                coretexCommand
-hi def link coretexFontsCommand                 coretexType
-hi def link coretexGlueCommand                  coretexCommand
-hi def link coretexHyphenationCommand           coretexCommand
-hi def link coretexInsertsCommand               coretexCommand
-hi def link coretexJobCommand                   coretexPreProc
-hi def link coretexKernCommand                  coretexCommand
-hi def link coretexLogicCommand                 coretexConditional
-hi def link coretexMacroCommand                 coretexMacro
-hi def link coretexMarksCommand                 coretexCommand
-hi def link coretexMathCommand                  coretexCommand
-hi def link coretexParagraphCommand             coretexCommand
-hi def link coretexPenaltiesCommand             coretexCommand
-hi def link coretexRegistersCommand             coretexCommand
-hi def link coretexTablesCommand                coretexCommand
-
-hi def link coretexDerivedCommand               coretexStatement
-hi def link coretexGlueDerivedCommand           coretexDerivedCommand
-hi def link coretexHyphenationDerivedCommand    coretexDerivedCommand
-hi def link coretexMacroDerivedCommand          coretexDerivedCommand
-hi def link coretexMathDerivedCommand           coretexDerivedCommand
-
-hi def link coretexInternalQuantity             coretexIdentifier
-hi def link coretexBoxInternalQuantity          coretexInternalQuantity
-hi def link coretexCharacterInternalQuantity    coretexInternalQuantity
-hi def link coretexFileIOInternalQuantity       coretexInternalQuantity
-hi def link coretexFontsInternalQuantity        coretexInternalQuantity
-hi def link coretexHyphenationInternalQuantity  coretexInternalQuantity
-hi def link coretexJobInternalQuantity          coretexInternalQuantity
-hi def link coretexKernInternalQuantity         coretexInternalQuantity
-hi def link coretexMathInternalQuantity         coretexInternalQuantity
-hi def link coretexPageInternalQuantity         coretexInternalQuantity
-hi def link coretexParagraphInternalQuantity    coretexInternalQuantity
-hi def link coretexPenaltiesInternalQuantity    coretexInternalQuantity
-hi def link coretexRegistersInternalQuantity    coretexInternalQuantity
-
-hi def link coretexParameterDimen               coretexNumber
-hi def link coretexBoxParameterDimen            coretexParameterDimen
-hi def link coretexInsertsParameterDimen        coretexParameterDimen
-hi def link coretexMathParameterDimen           coretexParameterDimen
-hi def link coretexPageParameterDimen           coretexParameterDimen
-hi def link coretexParagraphParameterDimen      coretexParameterDimen
-
-hi def link coretexParameterGlue                coretexNumber
-hi def link coretexInsertsParameterGlue         coretexParameterGlue
-hi def link coretexMathParameterGlue            coretexParameterGlue
-hi def link coretexPageParameterGlue            coretexParameterGlue
-hi def link coretexParagraphParameterGlue       coretexParameterGlue
-hi def link coretexTablesParameterGlue          coretexParameterGlue
-
-hi def link coretexParameterInteger             coretexNumber
-hi def link coretexBoxParameterInteger          coretexParameterInteger
-hi def link coretexCharacterParameterInteger    coretexParameterInteger
-hi def link coretexDebuggingParameterInteger    coretexParameterInteger
-hi def link coretexHyphenationParameterInteger  coretexParameterInteger
-hi def link coretexInsertsParameterInteger      coretexParameterInteger
-hi def link coretexJobParameterInteger          coretexParameterInteger
-hi def link coretexMacroParameterInteger        coretexParameterInteger
-hi def link coretexMathParameterInteger         coretexParameterInteger
-hi def link coretexParagraphParameterInteger    coretexParameterInteger
-hi def link coretexPenaltiesParameterInteger    coretexParameterInteger
-
-hi def link coretexParameterMuglue              coretexNumber
-hi def link coretexMathParameterMuglue          coretexParameterMuglue
-
-hi def link coretexParameterToken               coretexIdentifier
-hi def link coretexBoxParameterToken            coretexParameterToken
-hi def link coretexDebuggingParameterToken      coretexParameterToken
-hi def link coretexFileIOParameterToken         coretexParameterToken
-hi def link coretexMathParameterToken           coretexParameterToken
-hi def link coretexParagraphParameterToken      coretexParameterToken
-hi def link coretexTablesParameterToken         coretexParameterToken
-
-let b:current_syntax = "coretex"
-
-let &cpo = s:cpo_save
-unlet s:cpo_save
-
new file mode 100644
--- /dev/null
+++ b/runtime/syntax/initex.vim
@@ -0,0 +1,376 @@
+" Vim syntax file
+" Language:         TeX (core definition)
+" Maintainer:       Nikolai Weibull <now@bitwi.se>
+" Latest Revision:  2006-04-19
+
+if exists("b:current_syntax")
+  finish
+endif
+
+let s:cpo_save = &cpo
+set cpo&vim
+
+" This follows the grouping (sort of) found at
+" http://www.tug.org/utilities/plain/cseq.html#top-fam
+
+syn keyword initexTodo                          TODO FIXME XXX NOTE
+
+syn match initexComment                         display contains=initexTodo
+      \ '\\\@<!\%(\\\\\)*\zs%.*$'
+
+syn match   initexDimension                     display contains=@NoSpell
+      \ '[+-]\=\s*\%(\d\+\%([.,]\d*\)\=\|[.,]\d\+\)\s*\%(true\)\=\s*\%(p[tc]\|in\|bp\|c[mc]\|m[mu]\|dd\|sp\|e[mx]\)\>'
+
+syn cluster initexBox
+      \ contains=initexBoxCommand,initexBoxInternalQuantity,
+      \ initexBoxParameterDimen,initexBoxParameterInteger,
+      \ initexBoxParameterToken
+
+syn cluster initexCharacter
+      \ contains=initexCharacterCommand,initexCharacterInternalQuantity,
+      \ initexCharacterParameterInteger
+
+syn cluster initexDebugging
+      \ contains=initexDebuggingCommand,initexDebuggingParameterInteger,
+      \ initexDebuggingParameterToken
+
+syn cluster initexFileIO
+      \ contains=initexFileIOCommand,initexFileIOInternalQuantity,
+      \ initexFileIOParameterToken
+
+syn cluster initexFonts
+      \ contains=initexFontsCommand,initexFontsInternalQuantity
+
+syn cluster initexGlue
+      \ contains=initexGlueCommand,initexGlueDerivedCommand
+
+syn cluster initexHyphenation
+      \ contains=initexHyphenationCommand,initexHyphenationDerivedCommand,
+      \ initexHyphenationInternalQuantity,initexHyphenationParameterInteger
+
+syn cluster initexInserts
+      \ contains=initexInsertsCommand,initexInsertsParameterDimen,
+      \ initexInsertsParameterGlue,initexInsertsParameterInteger
+
+syn cluster initexJob
+      \ contains=initexJobCommand,initexJobInternalQuantity,
+      \ initexJobParameterInteger
+
+syn cluster initexKern
+      \ contains=initexKernCommand,initexKernInternalQuantity
+
+syn cluster initexLogic
+      \ contains=initexLogicCommand
+
+syn cluster initexMacro
+      \ contains=initexMacroCommand,initexMacroDerivedCommand,
+      \ initexMacroParameterInteger
+
+syn cluster initexMarks
+      \ contains=initexMarksCommand
+
+syn cluster initexMath
+      \ contains=initexMathCommand,initexMathDerivedCommand,
+      \ initexMathInternalQuantity,initexMathParameterDimen,
+      \ initexMathParameterGlue,initexMathParameterInteger,
+      \ initexMathParameterMuglue,initexMathParameterToken
+
+syn cluster initexPage
+      \ contains=initexPageInternalQuantity,initexPageParameterDimen,
+      \ initexPageParameterGlue
+
+syn cluster initexParagraph
+      \ contains=initexParagraphCommand,initexParagraphInternalQuantity,
+      \ initexParagraphParameterDimen,initexParagraphParameterGlue,
+      \ initexParagraphParameterInteger,initexParagraphParameterToken
+
+syn cluster initexPenalties
+      \ contains=initexPenaltiesCommand,initexPenaltiesInternalQuantity,
+      \ initexPenaltiesParameterInteger
+
+syn cluster initexRegisters
+      \ contains=initexRegistersCommand,initexRegistersInternalQuantity
+
+syn cluster initexTables
+      \ contains=initexTablesCommand,initexTablesParameterGlue,
+      \ initexTablesParameterToken
+
+syn cluster initexCommand
+      \ contains=initexBoxCommand,initexCharacterCommand,
+      \ initexDebuggingCommand,initexFileIOCommand,
+      \ initexFontsCommand,initexGlueCommand,
+      \ initexHyphenationCommand,initexInsertsCommand,
+      \ initexJobCommand,initexKernCommand,initexLogicCommand,
+      \ initexMacroCommand,initexMarksCommand,initexMathCommand,
+      \ initexParagraphCommand,initexPenaltiesCommand,initexRegistersCommand,
+      \ initexTablesCommand
+
+syn match   initexBoxCommand                    display contains=@NoSpell
+      \ '\\\%([hv]\=box\|[cx]\=leaders\|copy\|[hv]rule\|lastbox\|setbox\|un[hv]\%(box\|copy\)\|vtop\)\>'
+syn match   initexCharacterCommand              display contains=@NoSpell
+      \ '\\\%([] ]\|\%(^^M\|accent\|char\|\%(lower\|upper\)case\|number\|romannumeral\|string\)\>\)'
+syn match   initexDebuggingCommand              display contains=@NoSpell
+      \ '\\\%(\%(batch\|\%(non\|error\)stop\|scroll\)mode\|\%(err\)\=message\|meaning\|show\%(box\%(breadth\|depth\)\=\|lists\|the\)\)\>'
+syn match   initexFileIOCommand                 display contains=@NoSpell
+      \ '\\\%(\%(close\|open\)\%(in\|out\)\|endinput\|immediate\|input\|read\|shipout\|special\|write\)\>'
+syn match   initexFontsCommand                  display contains=@NoSpell
+      \ '\\\%(/\|fontname\)\>'
+syn match   initexGlueCommand                   display contains=@NoSpell
+      \ '\\\%([hv]\|un\)skip\>'
+syn match   initexHyphenationCommand            display contains=@NoSpell
+      \ '\\\%(discretionary\|hyphenation\|patterns\|setlanguage\)\>'
+syn match   initexInsertsCommand                display contains=@NoSpell
+      \ '\\\%(insert\|split\%(bot\|first\)mark\|vsplit\)\>'
+syn match   initexJobCommand                    display contains=@NoSpell
+      \ '\\\%(dump\|end\|jobname\)\>'
+syn match   initexKernCommand                   display contains=@NoSpell
+      \ '\\\%(kern\|lower\|move\%(left\|right\)\|raise\|unkern\)\>'
+syn match   initexLogicCommand                  display contains=@NoSpell
+      \ '\\\%(else\|fi\|if[a-zA-Z@]\+\|or\)\>'
+"      \ '\\\%(else\|fi\|if\%(case\|cat\|dim\|eof\|false\|[hv]box\|[hmv]mode\|inner\|num\|odd\|true\|void\|x\)\=\|or\)\>'
+syn match   initexMacroCommand                  display contains=@NoSpell
+      \ '\\\%(after\%(assignment\|group\)\|\%(begin\|end\)group\|\%(end\)\=csname\|e\=def\|expandafter\|futurelet\|global\|let\|long\|noexpand\|outer\|relax\|the\)\>'
+syn match   initexMarksCommand                  display contains=@NoSpell
+      \ '\\\%(bot\|first\|top\)\=mark\>'
+syn match   initexMathCommand                   display contains=@NoSpell
+      \ '\\\%(abovewithdelims\|delimiter\|display\%(limits\|style\)\|l\=eqno\|left\|\%(no\)\=limits\|math\%(accent\|bin\|char\|choice\|close\|code\|inner\|op\|open\|ord\|punct\|rel\)\|mkern\|mskip\|muskipdef\|nonscript\|\%(over\|under\)line\|radical\|right\|\%(\%(script\)\{1,2}\|text\)style\|vcenter\)\>'
+syn match   initexParagraphCommand              display contains=@NoSpell
+      \ '\\\%(ignorespaces\|indent\|no\%(boundary\|indent\)\|par\|vadjust\)\>'
+syn match   initexPenaltiesCommand              display contains=@NoSpell
+      \ '\\\%(un\)\=penalty\>'
+syn match   initexRegistersCommand              display contains=@NoSpell
+      \ '\\\%(advance\|\%(count\|dimen\|skip\|toks\)def\|divide\|multiply\)\>'
+syn match   initexTablesCommand                 display contains=@NoSpell
+      \ '\\\%(cr\|crcr\|[hv]align\|noalign\|omit\|span\)\>'
+
+syn cluster initexDerivedCommand
+      \ contains=initexGlueDerivedCommand,initexHyphenationDerivedCommand,
+      \ initexMacroDerivedCommand,initexMathDerivedCommand
+
+syn match   initexGlueDerivedCommand            display contains=@NoSpell
+      \ '\\\%([hv]fil\%(l\|neg\)\=\|[hv]ss\)\>'
+syn match   initexHyphenationDerivedCommand     display contains=@NoSpell
+      \ '\\-'
+syn match   initexMacroDerivedCommand           display contains=@NoSpell
+      \ '\\[gx]def\>'
+syn match   initexMathDerivedCommand            display contains=@NoSpell
+      \ '\\\%(above\|atop\%(withdelims\)\=\|mathchardef\|over\|overwithdelims\)\>'
+
+syn cluster initexInternalQuantity
+      \ contains=initexBoxInternalQuantity,initexCharacterInternalQuantity,
+      \ initexFileIOInternalQuantity,initexFontsInternalQuantity,
+      \ initexHyphenationInternalQuantity,initexJobInternalQuantity,
+      \ initexKernInternalQuantity,initexMathInternalQuantity,
+      \ initexPageInternalQuantity,initexParagraphInternalQuantity,
+      \ initexPenaltiesInternalQuantity,initexRegistersInternalQuantity
+
+syn match   initexBoxInternalQuantity           display contains=@NoSpell
+      \ '\\\%(badness\|dp\|ht\|prevdepth\|wd\)\>'
+syn match   initexCharacterInternalQuantity     display contains=@NoSpell
+      \ '\\\%(catcode\|chardef\|\%([ul]c\|sf\)code\)\>'
+syn match   initexFileIOInternalQuantity        display contains=@NoSpell
+      \ '\\inputlineno\>'
+syn match   initexFontsInternalQuantity         display contains=@NoSpell
+      \ '\\\%(font\%(dimen\)\=\|nullfont\)\>'
+syn match   initexHyphenationInternalQuantity   display contains=@NoSpell
+      \ '\\hyphenchar\>'
+syn match   initexJobInternalQuantity           display contains=@NoSpell
+      \ '\\deadcycles\>'
+syn match   initexKernInternalQuantity          display contains=@NoSpell
+      \ '\\lastkern\>'
+syn match   initexMathInternalQuantity          display contains=@NoSpell
+      \ '\\\%(delcode\|mathcode\|muskip\|\%(\%(script\)\{1,2}\|text\)font\|skewchar\)\>'
+syn match   initexPageInternalQuantity          display contains=@NoSpell
+      \ '\\page\%(depth\|fil\{1,3}stretch\|goal\|shrink\|stretch\|total\)\>'
+syn match   initexParagraphInternalQuantity     display contains=@NoSpell
+      \ '\\\%(prevgraf\|spacefactor\)\>'
+syn match   initexPenaltiesInternalQuantity     display contains=@NoSpell
+      \ '\\lastpenalty\>'
+syn match   initexRegistersInternalQuantity     display contains=@NoSpell
+      \ '\\\%(count\|dimen\|skip\|toks\)\d\+\>'
+
+syn cluster initexParameterDimen
+      \ contains=initexBoxParameterDimen,initexInsertsParameterDimen,
+      \ initexMathParameterDimen,initexPageParameterDimen,
+      \ initexParagraphParameterDimen
+
+syn match   initexBoxParameterDimen             display contains=@NoSpell
+      \ '\\\%(boxmaxdepth\|[hv]fuzz\|overfullrule\)\>'
+syn match   initexInsertsParameterDimen         display contains=@NoSpell
+      \ '\\splitmaxdepth\>'
+syn match   initexMathParameterDimen            display contains=@NoSpell
+      \ '\\\%(delimitershortfall\|display\%(indent\|width\)\|mathsurround\|nulldelimiterspace\|predisplaysize\|scriptspace\)\>'
+syn match   initexPageParameterDimen            display contains=@NoSpell
+      \ '\\\%([hv]offset\|maxdepth\|vsize\)\>'
+syn match   initexParagraphParameterDimen       display contains=@NoSpell
+      \ '\\\%(emergencystretch\|\%(hang\|par\)indent\|hsize\|lineskiplimit\)\>'
+
+syn cluster initexParameterGlue
+      \ contains=initexInsertsParameterGlue,initexMathParameterGlue,
+      \ initexPageParameterGlue,initexParagraphParameterGlue,
+      \ initexTablesParameterGlue
+
+syn match   initexInsertsParameterGlue          display contains=@NoSpell
+      \ '\\splittopskip\>'
+syn match   initexMathParameterGlue             display contains=@NoSpell
+      \ '\\\%(above\|below\)display\%(short\)\=skip\>'
+syn match   initexPageParameterGlue             display contains=@NoSpell
+      \ '\\topskip\>'
+syn match   initexParagraphParameterGlue        display contains=@NoSpell
+      \ '\\\%(baseline\|left\|line\|par\%(fill\)\=\|right\|x\=space\)skip\>'
+syn match   initexTablesParameterGlue           display contains=@NoSpell
+      \ '\\tabskip\>'
+
+syn cluster initexParameterInteger
+      \ contains=initexBoxParameterInteger,initexCharacterParameterInteger,
+      \ initexDebuggingParameterInteger,initexHyphenationParameterInteger,
+      \ initexInsertsParameterInteger,initexJobParameterInteger,
+      \ initexMacroParameterInteger,initexMathParameterInteger,
+      \ initexParagraphParameterInteger,initexPenaltiesParameterInteger,
+
+syn match   initexBoxParameterInteger           display contains=@NoSpell
+      \ '\\[hv]badness\>'
+syn match   initexCharacterParameterInteger     display contains=@NoSpell
+      \ '\\\%(\%(endline\|escape\|newline\)char\)\>'
+syn match   initexDebuggingParameterInteger     display contains=@NoSpell
+      \ '\\\%(errorcontextlines\|pausing\|tracing\%(commands\|lostchars\|macros\|online\|output\|pages\|paragraphs\|restores|stats\)\)\>'
+syn match   initexHyphenationParameterInteger   display contains=@NoSpell
+      \ '\\\%(defaulthyphenchar\|language\|\%(left\|right\)hyphenmin\|uchyph\)\>'
+syn match   initexInsertsParameterInteger       display contains=@NoSpell
+      \ '\\\%(holdinginserts\)\>'
+syn match   initexJobParameterInteger           display contains=@NoSpell
+      \ '\\\%(day\|mag\|maxdeadcycles\|month\|time\|year\)\>'
+syn match   initexMacroParameterInteger         display contains=@NoSpell
+      \ '\\globaldefs\>'
+syn match   initexMathParameterInteger          display contains=@NoSpell
+      \ '\\\%(binoppenalty\|defaultskewchar\|delimiterfactor\|displaywidowpenalty\|fam\|\%(post\|pre\)displaypenalty\|relpenalty\)\>'
+syn match   initexParagraphParameterInteger     display contains=@NoSpell
+      \ '\\\%(\%(adj\|\%(double\|final\)hyphen\)demerits\|looseness\|\%(pre\)\=tolerance\)\>'
+syn match   initexPenaltiesParameterInteger     display contains=@NoSpell
+      \ '\\\%(broken\|club\|exhyphen\|floating\|hyphen\|interline\|line\|output\|widow\)penalty\>'
+
+syn cluster initexParameterMuglue
+      \ contains=initexMathParameterMuglue
+
+syn match   initexMathParameterMuglue           display contains=@NoSpell
+      \ '\\\%(med\|thick\|thin\)muskip\>'
+
+syn cluster initexParameterDimen
+      \ contains=initexBoxParameterToken,initexDebuggingParameterToken,
+      \ initexFileIOParameterToken,initexMathParameterToken,
+      \ initexParagraphParameterToken,initexTablesParameterToken
+
+syn match   initexBoxParameterToken             display contains=@NoSpell
+      \ '\\every[hv]box\>'
+syn match   initexDebuggingParameterToken       display contains=@NoSpell
+      \ '\\errhelp\>'
+syn match   initexFileIOParameterToken          display contains=@NoSpell
+      \ '\\output\>'
+syn match   initexMathParameterToken            display contains=@NoSpell
+      \ '\\every\%(display\|math\)\>'
+syn match   initexParagraphParameterToken       display contains=@NoSpell
+      \ '\\everypar\>'
+syn match   initexTablesParameterToken          display contains=@NoSpell
+      \ '\\everycr\>'
+
+
+hi def link initexCharacter                     Character
+hi def link initexNumber                        Number
+
+hi def link initexIdentifier                    Identifier
+
+hi def link initexStatement                     Statement
+hi def link initexConditional                   Conditional
+
+hi def link initexPreProc                       PreProc
+hi def link initexMacro                         Macro
+
+hi def link initexType                          Type
+
+hi def link initexDebug                         Debug
+
+hi def link initexTodo                          Todo
+hi def link initexComment                       Comment
+hi def link initexDimension                     initexNumber
+
+hi def link initexCommand                       initexStatement
+hi def link initexBoxCommand                    initexCommand
+hi def link initexCharacterCommand              initexCharacter
+hi def link initexDebuggingCommand              initexDebug
+hi def link initexFileIOCommand                 initexCommand
+hi def link initexFontsCommand                  initexType
+hi def link initexGlueCommand                   initexCommand
+hi def link initexHyphenationCommand            initexCommand
+hi def link initexInsertsCommand                initexCommand
+hi def link initexJobCommand                    initexPreProc
+hi def link initexKernCommand                   initexCommand
+hi def link initexLogicCommand                  initexConditional
+hi def link initexMacroCommand                  initexMacro
+hi def link initexMarksCommand                  initexCommand
+hi def link initexMathCommand                   initexCommand
+hi def link initexParagraphCommand              initexCommand
+hi def link initexPenaltiesCommand              initexCommand
+hi def link initexRegistersCommand              initexCommand
+hi def link initexTablesCommand                 initexCommand
+
+hi def link initexDerivedCommand                initexStatement
+hi def link initexGlueDerivedCommand            initexDerivedCommand
+hi def link initexHyphenationDerivedCommand     initexDerivedCommand
+hi def link initexMacroDerivedCommand           initexDerivedCommand
+hi def link initexMathDerivedCommand            initexDerivedCommand
+
+hi def link initexInternalQuantity              initexIdentifier
+hi def link initexBoxInternalQuantity           initexInternalQuantity
+hi def link initexCharacterInternalQuantity     initexInternalQuantity
+hi def link initexFileIOInternalQuantity        initexInternalQuantity
+hi def link initexFontsInternalQuantity         initexInternalQuantity
+hi def link initexHyphenationInternalQuantity   initexInternalQuantity
+hi def link initexJobInternalQuantity           initexInternalQuantity
+hi def link initexKernInternalQuantity          initexInternalQuantity
+hi def link initexMathInternalQuantity          initexInternalQuantity
+hi def link initexPageInternalQuantity          initexInternalQuantity
+hi def link initexParagraphInternalQuantity     initexInternalQuantity
+hi def link initexPenaltiesInternalQuantity     initexInternalQuantity
+hi def link initexRegistersInternalQuantity     initexInternalQuantity
+
+hi def link initexParameterDimen                initexNumber
+hi def link initexBoxParameterDimen             initexParameterDimen
+hi def link initexInsertsParameterDimen         initexParameterDimen
+hi def link initexMathParameterDimen            initexParameterDimen
+hi def link initexPageParameterDimen            initexParameterDimen
+hi def link initexParagraphParameterDimen       initexParameterDimen
+
+hi def link initexParameterGlue                 initexNumber
+hi def link initexInsertsParameterGlue          initexParameterGlue
+hi def link initexMathParameterGlue             initexParameterGlue
+hi def link initexPageParameterGlue             initexParameterGlue
+hi def link initexParagraphParameterGlue        initexParameterGlue
+hi def link initexTablesParameterGlue           initexParameterGlue
+
+hi def link initexParameterInteger              initexNumber
+hi def link initexBoxParameterInteger           initexParameterInteger
+hi def link initexCharacterParameterInteger     initexParameterInteger
+hi def link initexDebuggingParameterInteger     initexParameterInteger
+hi def link initexHyphenationParameterInteger   initexParameterInteger
+hi def link initexInsertsParameterInteger       initexParameterInteger
+hi def link initexJobParameterInteger           initexParameterInteger
+hi def link initexMacroParameterInteger         initexParameterInteger
+hi def link initexMathParameterInteger          initexParameterInteger
+hi def link initexParagraphParameterInteger     initexParameterInteger
+hi def link initexPenaltiesParameterInteger     initexParameterInteger
+
+hi def link initexParameterMuglue               initexNumber
+hi def link initexMathParameterMuglue           initexParameterMuglue
+
+hi def link initexParameterToken                initexIdentifier
+hi def link initexBoxParameterToken             initexParameterToken
+hi def link initexDebuggingParameterToken       initexParameterToken
+hi def link initexFileIOParameterToken          initexParameterToken
+hi def link initexMathParameterToken            initexParameterToken
+hi def link initexParagraphParameterToken       initexParameterToken
+hi def link initexTablesParameterToken          initexParameterToken
+
+let b:current_syntax = "initex"
+
+let &cpo = s:cpo_save
+unlet s:cpo_save
--- a/runtime/syntax/kconfig.vim
+++ b/runtime/syntax/kconfig.vim
@@ -1,6 +1,6 @@
 " Vim syntax file
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-04-13
+" Latest Revision:  2006-04-14
 
 if exists("b:current_syntax")
   finish
@@ -677,6 +677,7 @@ syn keyword kconfigPreProc            so
 syn keyword kconfigTriState           y m n
 
 syn match   kconfigSpecialChar        contained '\\.'
+syn match   kconfigSpecialChar        '\\$'
 
 syn region  kconfigPath               matchgroup=kconfigPath
                                       \ start=+"+ skip=+\\\\\|\\\"+ end=+"+
--- a/runtime/syntax/lua.vim
+++ b/runtime/syntax/lua.vim
@@ -1,254 +1,297 @@
-" Vim syntax file
-" Language:	Lua 4.0 and Lua 5.0
-" Maintainer:	Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
-" First Author:	Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
-" Last Change:	2004 Aug 29
-" Options:	lua_version = 4 or 5 [default]
-"
-" For version 5.x: Clear all syntax items
-" For version 6.x: Quit when a syntax file was already loaded
-if version < 600
-  syntax clear
-elseif exists("b:current_syntax")
-  finish
-endif
-
-if !exists("lua_version")
-  let lua_version = 5
-endif
-
-syn case match
-
-" Comments
-syn keyword luaTodo		contained TODO FIXME XXX
-syn match   luaComment		"--.*$" contains=luaTodo
-if lua_version > 4
-  syn region  luaComment	matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
-  syn region  luaInnerComment	contained transparent start="\[\[" end="\]\]"
-endif
-" First line may start with #!
-syn match   luaComment		"\%^#!.*"
-
-" catch errors caused by wrong parenthesis and wrong curly brackets or
-" keywords placed outside their respective blocks
-
-syn region  luaParen		transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
-syn match   luaError		")"
-syn match   luaError		"}"
-syn match   luaError		"\<\%(end\|else\|elseif\|then\|until\|in\)\>"
-
-
-" Function declaration
-syn region  luaFunctionBlock    transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" if then else elseif end
-syn keyword luaCond		contained else
-
-" then ... end
-syn region  luaCondEnd		contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
-
-" elseif ... then
-syn region  luaCondElseif	contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" if ... then
-syn region  luaCondStart	transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
-
-" do ... end
-syn region  luaBlock		transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" repeat ... until
-syn region  luaRepeatBlock	transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
-
-" while ... do
-syn region  luaRepeatBlock	transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
-
-" for ... do and for ... in ... do
-syn region luaRepeatBlock	transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
-
-" Following 'else' example. This is another item to those
-" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
-syn keyword luaRepeat		contained in
-
-" other keywords
-syn keyword luaStatement	return local break
-syn keyword luaOperator		and or not
-syn keyword luaConstant		nil
-if lua_version > 4
-  syn keyword luaConstant	true false
-endif
-
-" Pre processor doesn't exist since Lua 4.0
-" syn match   luaPreProc	  "^\s*$\%(debug\|nodebug\|if\|ifnot\|end\|else\|endinput\)\>"
-
-" Strings
-syn match   luaSpecial		contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
-syn region  luaString		start=+'+  end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
-syn region  luaString		start=+"+  end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
-" Nested strings
-syn region  luaString2		matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
-
-" integer number
-syn match luaNumber		"\<[0-9]\+\>"
-" floating point number, with dot, optional exponent
-syn match luaFloat		"\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
-" floating point number, starting with a dot, optional exponent
-syn match luaFloat		"\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
-" floating point number, without dot, with exponent
-syn match luaFloat		"\<[0-9]\+e[-+]\=[0-9]\+\>"
-
-" tables
-syn region  luaTableBlock       transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
-
-syn keyword luaFunc	assert collectgarbage dofile error gcinfo next
-syn keyword luaFunc	print rawget rawset tonumber tostring type _VERSION
-
-if lua_version == 4
-  syn keyword luaFunc	_ALERT _ERRORMESSAGE
-  syn keyword luaFunc	call copytagmethods dostring
-  syn keyword luaFunc	foreach foreachi getglobal getn
-  syn keyword luaFunc	gettagmethod globals newtag
-  syn keyword luaFunc	setglobal settag settagmethod sort
-  syn keyword luaFunc	tag tinsert tremove
-  syn keyword luaFunc	_INPUT _OUTPUT _STDIN _STDOUT _STDERR
-  syn keyword luaFunc	openfile closefile flush seek
-  syn keyword luaFunc	setlocale execute remove rename tmpname
-  syn keyword luaFunc	getenv date clock exit
-  syn keyword luaFunc	readfrom writeto appendto read write
-  syn keyword luaFunc	PI abs sin cos tan asin
-  syn keyword luaFunc	acos atan atan2 ceil floor
-  syn keyword luaFunc	mod frexp ldexp sqrt min max log
-  syn keyword luaFunc	log10 exp deg rad random
-  syn keyword luaFunc	randomseed strlen strsub strlower strupper
-  syn keyword luaFunc	strchar strrep ascii strbyte
-  syn keyword luaFunc	format strfind gsub
-  syn keyword luaFunc	getinfo getlocal setlocal setcallhook setlinehook
-else
-  syn keyword luaFunc	_G getfenv getmetatable ipairs loadfile
-  syn keyword luaFunc	loadlib loadstring pairs pcall rawequal
-  syn keyword luaFunc	require setfenv setmetatable unpack xpcall
-  syn keyword luaFunc	LUA_PATH _LOADED _REQUIREDNAME
-  " Not sure if all these functions need to be highlighted...
-  syn match   luaFunc	/coroutine\.create/
-  syn match   luaFunc	/coroutine\.resume/
-  syn match   luaFunc	/coroutine\.status/
-  syn match   luaFunc	/coroutine\.wrap/
-  syn match   luaFunc	/coroutine\.yield/
-  syn match   luaFunc	/string\.byte/
-  syn match   luaFunc	/string\.char/
-  syn match   luaFunc	/string\.dump/
-  syn match   luaFunc	/string\.find/
-  syn match   luaFunc	/string\.len/
-  syn match   luaFunc	/string\.lower/
-  syn match   luaFunc	/string\.rep/
-  syn match   luaFunc	/string\.sub/
-  syn match   luaFunc	/string\.upper/
-  syn match   luaFunc	/string\.format/
-  syn match   luaFunc	/string\.gfind/
-  syn match   luaFunc	/string\.gsub/
-  syn match   luaFunc	/table\.concat/
-  syn match   luaFunc	/table\.foreach/
-  syn match   luaFunc	/table\.foreachi/
-  syn match   luaFunc	/table\.getn/
-  syn match   luaFunc	/table\.sort/
-  syn match   luaFunc	/table\.insert/
-  syn match   luaFunc	/table\.remove/
-  syn match   luaFunc	/table\.setn/
-  syn match   luaFunc	/math\.abs/
-  syn match   luaFunc	/math\.acos/
-  syn match   luaFunc	/math\.asin/
-  syn match   luaFunc	/math\.atan/
-  syn match   luaFunc	/math\.atan2/
-  syn match   luaFunc	/math\.ceil/
-  syn match   luaFunc	/math\.cos/
-  syn match   luaFunc	/math\.deg/
-  syn match   luaFunc	/math\.exp/
-  syn match   luaFunc	/math\.floor/
-  syn match   luaFunc	/math\.log/
-  syn match   luaFunc	/math\.log10/
-  syn match   luaFunc	/math\.max/
-  syn match   luaFunc	/math\.min/
-  syn match   luaFunc	/math\.mod/
-  syn match   luaFunc	/math\.pow/
-  syn match   luaFunc	/math\.rad/
-  syn match   luaFunc	/math\.sin/
-  syn match   luaFunc	/math\.sqrt/
-  syn match   luaFunc	/math\.tan/
-  syn match   luaFunc	/math\.frexp/
-  syn match   luaFunc	/math\.ldexp/
-  syn match   luaFunc	/math\.random/
-  syn match   luaFunc	/math\.randomseed/
-  syn match   luaFunc	/math\.pi/
-  syn match   luaFunc	/io\.stdin/
-  syn match   luaFunc	/io\.stdout/
-  syn match   luaFunc	/io\.stderr/
-  syn match   luaFunc	/io\.close/
-  syn match   luaFunc	/io\.flush/
-  syn match   luaFunc	/io\.input/
-  syn match   luaFunc	/io\.lines/
-  syn match   luaFunc	/io\.open/
-  syn match   luaFunc	/io\.output/
-  syn match   luaFunc	/io\.popen/
-  syn match   luaFunc	/io\.read/
-  syn match   luaFunc	/io\.tmpfile/
-  syn match   luaFunc	/io\.type/
-  syn match   luaFunc	/io\.write/
-  syn match   luaFunc	/os\.clock/
-  syn match   luaFunc	/os\.date/
-  syn match   luaFunc	/os\.difftime/
-  syn match   luaFunc	/os\.execute/
-  syn match   luaFunc	/os\.exit/
-  syn match   luaFunc	/os\.getenv/
-  syn match   luaFunc	/os\.remove/
-  syn match   luaFunc	/os\.rename/
-  syn match   luaFunc	/os\.setlocale/
-  syn match   luaFunc	/os\.time/
-  syn match   luaFunc	/os\.tmpname/
-  syn match   luaFunc	/debug\.debug/
-  syn match   luaFunc	/debug\.gethook/
-  syn match   luaFunc	/debug\.getinfo/
-  syn match   luaFunc	/debug\.getlocal/
-  syn match   luaFunc	/debug\.getupvalue/
-  syn match   luaFunc	/debug\.setlocal/
-  syn match   luaFunc	/debug\.setupvalue/
-  syn match   luaFunc	/debug\.sethook/
-  syn match   luaFunc	/debug\.traceback/
-endif
-
-"syncing method
-syn sync minlines=100
-
-" Define the default highlighting.
-" For version 5.7 and earlier: only when not done already
-" For version 5.8 and later: only when an item doesn't have highlighting yet
-if version >= 508 || !exists("did_lua_syntax_inits")
-  if version < 508
-    let did_lua_syntax_inits = 1
-    command -nargs=+ HiLink hi link <args>
-  else
-    command -nargs=+ HiLink hi def link <args>
-  endif
-
-  HiLink luaStatement		Statement
-  HiLink luaRepeat		Repeat
-  HiLink luaString		String
-  HiLink luaString2		String
-  HiLink luaNumber		Number
-  HiLink luaFloat		Float
-  HiLink luaOperator		Operator
-  HiLink luaConstant		Constant
-  HiLink luaCond		Conditional
-  HiLink luaFunction		Function
-  HiLink luaComment		Comment
-  HiLink luaTodo		Todo
-  HiLink luaTable		Structure
-  HiLink luaError		Error
-  HiLink luaSpecial		SpecialChar
-  " HiLink luaPreProc		PreProc
-  HiLink luaFunc		Identifier
-
-  delcommand HiLink
-endif
-
-let b:current_syntax = "lua"
-
-" vim: noet ts=8
+" Vim syntax file
+" Language:	Lua 4.0, Lua 5.0 and Lua 5.1
+" Maintainer:	Marcus Aurelius Farias <marcus.cf 'at' bol.com.br>
+" First Author:	Carlos Augusto Teixeira Mendes <cmendes 'at' inf puc-rio br>
+" Last Change:	2006 Apr. 19
+" Options:	lua_version = 4 or 5
+"		lua_subversion = 0 (4.0, 5.0) or 1 (5.1)
+"		default 5.1
+
+" For version 5.x: Clear all syntax items
+" For version 6.x: Quit when a syntax file was already loaded
+if version < 600
+  syntax clear
+elseif exists("b:current_syntax")
+  finish
+endif
+
+if !exists("lua_version")
+  " Default is lua 5.1
+  let lua_version = 5
+  let lua_subversion = 1
+elseif !exists("lua_subversion")
+  " lua_version exists, but lua_subversion doesn't. So, set it to 0
+  let lua_subversion = 0
+endif
+
+syn case match
+
+" syncing method
+syn sync minlines=100
+
+" Comments
+syn keyword luaTodo             contained TODO FIXME XXX
+syn match   luaComment          "--.*$" contains=luaTodo
+if lua_version == 5 && lua_subversion == 0
+  syn region  luaComment        matchgroup=luaComment start="--\[\[" end="\]\]" contains=luaTodo,luaInnerComment
+  syn region  luaInnerComment   contained transparent start="\[\[" end="\]\]"
+elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
+  " Comments in Lua 5.1: [[ ... ]], [=[ ... ]=], [===[ ... ]===], etc.
+  syn region  luaComment        matchgroup=luaComment start="--\[\z(=*\)\[" end="\]\z1\]"
+endif
+
+" First line may start with #!
+syn match luaComment "\%^#!.*"
+
+" catch errors caused by wrong parenthesis and wrong curly brackets or
+" keywords placed outside their respective blocks
+
+syn region luaParen transparent start='(' end=')' contains=ALLBUT,luaError,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
+syn match  luaError ")"
+syn match  luaError "}"
+syn match  luaError "\<\%(end\|else\|elseif\|then\|until\|in\)\>"
+
+" Function declaration
+syn region luaFunctionBlock transparent matchgroup=luaFunction start="\<function\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" if then else elseif end
+syn keyword luaCond contained else
+
+" then ... end
+syn region luaCondEnd contained transparent matchgroup=luaCond start="\<then\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaRepeat
+
+" elseif ... then
+syn region luaCondElseif contained transparent matchgroup=luaCond start="\<elseif\>" end="\<then\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" if ... then
+syn region luaCondStart transparent matchgroup=luaCond start="\<if\>" end="\<then\>"me=e-4 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaCondEnd skipwhite skipempty
+
+" do ... end
+syn region luaBlock transparent matchgroup=luaStatement start="\<do\>" end="\<end\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" repeat ... until
+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<repeat\>" end="\<until\>" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat
+
+" while ... do
+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<while\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaRepeat nextgroup=luaBlock skipwhite skipempty
+
+" for ... do and for ... in ... do
+syn region luaRepeatBlock transparent matchgroup=luaRepeat start="\<for\>" end="\<do\>"me=e-2 contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd nextgroup=luaBlock skipwhite skipempty
+
+" Following 'else' example. This is another item to those
+" contains=ALLBUT,... because only the 'for' luaRepeatBlock contains it.
+syn keyword luaRepeat contained in
+
+" other keywords
+syn keyword luaStatement return local break
+syn keyword luaOperator  and or not
+syn keyword luaConstant  nil
+if lua_version > 4
+  syn keyword luaConstant true false
+endif
+
+" Strings
+syn match  luaSpecial contained "\\[\\abfnrtv\'\"[\]]\|\\\d\{,3}"
+syn region luaString  start=+'+ end=+'+ skip=+\\\\\|\\'+ contains=luaSpecial
+syn region luaString  start=+"+ end=+"+ skip=+\\\\\|\\"+ contains=luaSpecial
+" Nested strings
+if (lua_version == 5 && lua_subversion == 0) || lua_version < 5
+  syn region luaString2 matchgroup=luaString start=+\[\[+ end=+\]\]+ contains=luaString2
+elseif lua_version > 5 || (lua_version == 5 && lua_subversion >= 1)
+  syn region luaString2 matchgroup=luaString start="\[\z(=*\)\[" end="\]\z1\]"
+endif
+
+" integer number
+syn match luaNumber "\<[0-9]\+\>"
+" floating point number, with dot, optional exponent
+syn match luaFloat  "\<[0-9]\+\.[0-9]*\%(e[-+]\=[0-9]\+\)\=\>"
+" floating point number, starting with a dot, optional exponent
+syn match luaFloat  "\.[0-9]\+\%(e[-+]\=[0-9]\+\)\=\>"
+" floating point number, without dot, with exponent
+syn match luaFloat  "\<[0-9]\+e[-+]\=[0-9]\+\>"
+
+" tables
+syn region  luaTableBlock transparent matchgroup=luaTable start="{" end="}" contains=ALLBUT,luaTodo,luaSpecial,luaCond,luaCondElseif,luaCondEnd,luaCondStart,luaBlock,luaRepeatBlock,luaRepeat,luaStatement
+
+syn keyword luaFunc assert collectgarbage dofile error gcinfo next
+syn keyword luaFunc print rawget rawset tonumber tostring type _VERSION
+
+if lua_version == 4
+  syn keyword luaFunc _ALERT _ERRORMESSAGE
+  syn keyword luaFunc call copytagmethods dostring
+  syn keyword luaFunc foreach foreachi getglobal getn
+  syn keyword luaFunc gettagmethod globals newtag
+  syn keyword luaFunc setglobal settag settagmethod sort
+  syn keyword luaFunc tag tinsert tremove
+  syn keyword luaFunc _INPUT _OUTPUT _STDIN _STDOUT _STDERR
+  syn keyword luaFunc openfile closefile flush seek
+  syn keyword luaFunc setlocale execute remove rename tmpname
+  syn keyword luaFunc getenv date clock exit
+  syn keyword luaFunc readfrom writeto appendto read write
+  syn keyword luaFunc PI abs sin cos tan asin
+  syn keyword luaFunc acos atan atan2 ceil floor
+  syn keyword luaFunc mod frexp ldexp sqrt min max log
+  syn keyword luaFunc log10 exp deg rad random
+  syn keyword luaFunc randomseed strlen strsub strlower strupper
+  syn keyword luaFunc strchar strrep ascii strbyte
+  syn keyword luaFunc format strfind gsub
+  syn keyword luaFunc getinfo getlocal setlocal setcallhook setlinehook
+elseif lua_version == 5
+  " Not sure if all these functions need to be highlighted...
+  syn keyword luaFunc _G getfenv getmetatable ipairs loadfile
+  syn keyword luaFunc loadstring pairs pcall rawequal
+  syn keyword luaFunc require setfenv setmetatable unpack xpcall
+  if lua_subversion == 0
+    syn keyword luaFunc loadlib LUA_PATH _LOADED _REQUIREDNAME
+  elseif lua_subversion == 1
+    syn keyword luaFunc load module select
+    syn match luaFunc /package\.cpath/
+    syn match luaFunc /package\.loaded/
+    syn match luaFunc /package\.loadlib/
+    syn match luaFunc /package\.path/
+    syn match luaFunc /package\.preload/
+    syn match luaFunc /package\.seeall/
+    syn match luaFunc /coroutine\.running/
+  endif
+  syn match   luaFunc /coroutine\.create/
+  syn match   luaFunc /coroutine\.resume/
+  syn match   luaFunc /coroutine\.status/
+  syn match   luaFunc /coroutine\.wrap/
+  syn match   luaFunc /coroutine\.yield/
+  syn match   luaFunc /string\.byte/
+  syn match   luaFunc /string\.char/
+  syn match   luaFunc /string\.dump/
+  syn match   luaFunc /string\.find/
+  syn match   luaFunc /string\.len/
+  syn match   luaFunc /string\.lower/
+  syn match   luaFunc /string\.rep/
+  syn match   luaFunc /string\.sub/
+  syn match   luaFunc /string\.upper/
+  syn match   luaFunc /string\.format/
+  syn match   luaFunc /string\.gsub/
+  if lua_subversion == 0
+    syn match luaFunc /string\.gfind/
+  elseif lua_subversion == 1
+    syn match luaFunc /string\.gmatch/
+    syn match luaFunc /string\.match/
+    syn match luaFunc /string\.reverse/
+    syn match luaFunc /table\.maxn/
+  endif
+  syn match   luaFunc /table\.concat/
+  syn match   luaFunc /table\.foreach/
+  syn match   luaFunc /table\.foreachi/
+  syn match   luaFunc /table\.getn/
+  syn match   luaFunc /table\.sort/
+  syn match   luaFunc /table\.insert/
+  syn match   luaFunc /table\.remove/
+  syn match   luaFunc /table\.setn/
+  syn match   luaFunc /math\.abs/
+  syn match   luaFunc /math\.acos/
+  syn match   luaFunc /math\.asin/
+  syn match   luaFunc /math\.atan/
+  syn match   luaFunc /math\.atan2/
+  syn match   luaFunc /math\.ceil/
+  syn match   luaFunc /math\.sin/
+  syn match   luaFunc /math\.cos/
+  syn match   luaFunc /math\.tan/
+  syn match   luaFunc /math\.deg/
+  syn match   luaFunc /math\.exp/
+  syn match   luaFunc /math\.floor/
+  syn match   luaFunc /math\.log/
+  syn match   luaFunc /math\.log10/
+  syn match   luaFunc /math\.max/
+  syn match   luaFunc /math\.min/
+  if lua_subversion == 0
+    syn match luaFunc /math\.mod/
+  elseif lua_subversion == 1
+    syn match luaFunc /math\.fmod/
+    syn match luaFunc /math\.modf/
+    syn match luaFunc /math\.cosh/
+    syn match luaFunc /math\.sinh/
+    syn match luaFunc /math\.tanh/
+  endif
+  syn match   luaFunc /math\.pow/
+  syn match   luaFunc /math\.rad/
+  syn match   luaFunc /math\.sqrt/
+  syn match   luaFunc /math\.frexp/
+  syn match   luaFunc /math\.ldexp/
+  syn match   luaFunc /math\.random/
+  syn match   luaFunc /math\.randomseed/
+  syn match   luaFunc /math\.pi/
+  syn match   luaFunc /io\.stdin/
+  syn match   luaFunc /io\.stdout/
+  syn match   luaFunc /io\.stderr/
+  syn match   luaFunc /io\.close/
+  syn match   luaFunc /io\.flush/
+  syn match   luaFunc /io\.input/
+  syn match   luaFunc /io\.lines/
+  syn match   luaFunc /io\.open/
+  syn match   luaFunc /io\.output/
+  syn match   luaFunc /io\.popen/
+  syn match   luaFunc /io\.read/
+  syn match   luaFunc /io\.tmpfile/
+  syn match   luaFunc /io\.type/
+  syn match   luaFunc /io\.write/
+  syn match   luaFunc /os\.clock/
+  syn match   luaFunc /os\.date/
+  syn match   luaFunc /os\.difftime/
+  syn match   luaFunc /os\.execute/
+  syn match   luaFunc /os\.exit/
+  syn match   luaFunc /os\.getenv/
+  syn match   luaFunc /os\.remove/
+  syn match   luaFunc /os\.rename/
+  syn match   luaFunc /os\.setlocale/
+  syn match   luaFunc /os\.time/
+  syn match   luaFunc /os\.tmpname/
+  syn match   luaFunc /debug\.debug/
+  syn match   luaFunc /debug\.gethook/
+  syn match   luaFunc /debug\.getinfo/
+  syn match   luaFunc /debug\.getlocal/
+  syn match   luaFunc /debug\.getupvalue/
+  syn match   luaFunc /debug\.setlocal/
+  syn match   luaFunc /debug\.setupvalue/
+  syn match   luaFunc /debug\.sethook/
+  syn match   luaFunc /debug\.traceback/
+  if lua_subversion == 1
+    syn match luaFunc /debug\.getfenv/
+    syn match luaFunc /debug\.getmetatable/
+    syn match luaFunc /debug\.getregistry/
+    syn match luaFunc /debug\.setfenv/
+    syn match luaFunc /debug\.setmetatable/
+  endif
+endif
+
+" Define the default highlighting.
+" For version 5.7 and earlier: only when not done already
+" For version 5.8 and later: only when an item doesn't have highlighting yet
+if version >= 508 || !exists("did_lua_syntax_inits")
+  if version < 508
+    let did_lua_syntax_inits = 1
+    command -nargs=+ HiLink hi link <args>
+  else
+    command -nargs=+ HiLink hi def link <args>
+  endif
+
+  HiLink luaStatement		Statement
+  HiLink luaRepeat		Repeat
+  HiLink luaString		String
+  HiLink luaString2		String
+  HiLink luaNumber		Number
+  HiLink luaFloat		Float
+  HiLink luaOperator		Operator
+  HiLink luaConstant		Constant
+  HiLink luaCond		Conditional
+  HiLink luaFunction		Function
+  HiLink luaComment		Comment
+  HiLink luaTodo		Todo
+  HiLink luaTable		Structure
+  HiLink luaError		Error
+  HiLink luaSpecial		SpecialChar
+  HiLink luaFunc		Identifier
+
+  delcommand HiLink
+endif
+
+let b:current_syntax = "lua"
+
+" vim: et ts=8
--- a/runtime/syntax/plaintex.vim
+++ b/runtime/syntax/plaintex.vim
@@ -1,7 +1,7 @@
 " Vim syntax file
 " Language:         TeX (plain.tex format)
 " Maintainer:       Nikolai Weibull <now@bitwi.se>
-" Latest Revision:  2006-03-26
+" Latest Revision:  2006-04-19
 
 if exists("b:current_syntax")
   finish
@@ -13,10 +13,10 @@ set cpo&vim
 syn match   plaintexControlSequence         display contains=@NoSpell
       \ '\\[a-zA-Z@]\+'
 
-runtime! syntax/coretex.vim
+runtime! syntax/initex.vim
 
 syn match   plaintexComment                 display
-      \ contains=ALLBUT,coretexComment,plaintexComment
+      \ contains=ALLBUT,initexComment,plaintexComment
       \ '^\s*%[CDM].*$'
 
 if exists("g:plaintex_delimiters")
@@ -59,12 +59,14 @@ syn match   plaintexRegistersCommand    
 syn match   plaintexTablesCommand           display contains=@NoSpell
       \ '&\|\\+\|\\\%(cleartabs\|endline\|hidewidth\|ialign\|multispan\|settabs\|tabalign\)\>'
 
-syn region  plaintexMath                    matchgroup=plaintexMath
+if !exists("g:plaintex_no_math")
+  syn region  plaintexMath                  matchgroup=plaintexMath
       \ contains=@plaintexMath
       \ start='\$' skip='\\\\\|\\\$' end='\$'
-syn region  plaintexMath                    matchgroup=plaintexMath
+  syn region  plaintexMath                  matchgroup=plaintexMath
       \ contains=@plaintexMath keepend
       \ start='\$\$' skip='\\\\\|\\\$' end='\$\$'
+endif
 
 syn cluster plaintexMath
       \ contains=plaintexMathCommand,plaintexMathBoxCommand,
@@ -122,16 +124,16 @@ hi def link plaintexComment             
 hi def link plaintexInclude                 Include
 hi def link plaintexRepeat                  Repeat
 
-hi def link plaintexCommand                 coretexCommand
+hi def link plaintexCommand                 initexCommand
 hi def link plaintexBoxCommand              plaintexCommand
-hi def link plaintexCharacterCommand        coretexCharacterCommand
-hi def link plaintexDebuggingCommand        coretexDebuggingCommand
-hi def link plaintexFontsCommand            coretexFontsCommand
+hi def link plaintexCharacterCommand        initexCharacterCommand
+hi def link plaintexDebuggingCommand        initexDebuggingCommand
+hi def link plaintexFontsCommand            initexFontsCommand
 hi def link plaintexGlueCommand             plaintexCommand
 hi def link plaintexInsertsCommand          plaintexCommand
-hi def link plaintexJobCommand              coretexJobCommand
+hi def link plaintexJobCommand              initexJobCommand
 hi def link plaintexKernCommand             plaintexCommand
-hi def link plaintexMacroCommand            coretexMacroCommand
+hi def link plaintexMacroCommand            initexMacroCommand
 hi def link plaintexPageCommand             plaintexCommand
 hi def link plaintexParagraphCommand        plaintexCommand
 hi def link plaintexPenaltiesCommand        plaintexCommand
@@ -151,16 +153,15 @@ hi def link plaintexMathOperator        
 hi def link plaintexMathPunctuation         plaintexCharacterCommand
 hi def link plaintexMathRelation            plaintexOperator
 
-hi def link plaintexParameterDimen          coretexParameterDimen
-hi def link plaintexMathParameterDimen      coretexMathParameterDimen
-hi def link plaintexParagraphParameterGlue  coretexParagraphParameterGlue
-hi def link plaintexFontParameterInteger    coretexFontParameterInteger
-hi def link plaintexJobParameterInteger     coretexJobParameterInteger
-hi def link plaintexPageParameterInteger    coretexPageParameterInteger
-hi def link plaintexPageParameterToken      coretexParameterToken
+hi def link plaintexParameterDimen          initexParameterDimen
+hi def link plaintexMathParameterDimen      initexMathParameterDimen
+hi def link plaintexParagraphParameterGlue  initexParagraphParameterGlue
+hi def link plaintexFontParameterInteger    initexFontParameterInteger
+hi def link plaintexJobParameterInteger     initexJobParameterInteger
+hi def link plaintexPageParameterInteger    initexPageParameterInteger
+hi def link plaintexPageParameterToken      initexParameterToken
 
 let b:current_syntax = "plaintex"
 
 let &cpo = s:cpo_save
 unlet s:cpo_save
-
--- a/runtime/syntax/vim.vim
+++ b/runtime/syntax/vim.vim
@@ -1,8 +1,8 @@
 " Vim syntax file
 " Language:	Vim 7.0 script
 " Maintainer:	Dr. Charles E. Campbell, Jr. <NdrOchipS@PcampbellAfamily.Mbiz>
-" Last Change:	Apr 18, 2006
-" Version:	7.0-44
+" Last Change:	April 19, 2006
+" Version:	7.0-45
 " Automatically generated keyword lists: {{{1
 
 " Quit when a syntax file was already loaded {{{2
@@ -55,7 +55,7 @@ syn match vimHLGroup contained	"Conceal"
 syn case match
 
 " Function Names {{{2
-syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
+syn keyword vimFuncName contained	add append argc argidx argv browse browsedir bufexists buflisted bufloaded bufname bufnr bufwinnr byte2line byteidx call changenr char2nr cindent col complete complete_add complete_check confirm copy count cscope_connection cursor deepcopy delete did_filetype diff_filler diff_hlID empty escape eval eventhandler executable exists expand expr8 extend filereadable filewritable filter finddir findfile fnamemodify foldclosed foldclosedend foldlevel foldtext foldtextresult foreground function garbagecollect get getbufline getbufvar getchar getcharmod getcmdline getcmdpos getcmdtype getcwd getfontname getfperm getfsize getftime getftype getline getloclist getpos getqflist getreg getregtype gettabwinvar getwinposx getwinposy getwinvar glob globpath has has_key hasmapto histadd histdel histget histnr hlexists hlID hostname iconv indent index input inputdialog inputlist inputrestore inputsave inputsecret insert isdirectory islocked items join keys len libcall libcallnr line line2byte lispindent localtime map maparg mapcheck match matcharg matchend matchlist matchstr max min mkdir mode nextnonblank nr2char pathshorten prevnonblank printf pumvisible range readfile reltime reltimestr remote_expr remote_foreground remote_peek remote_read remote_send remove rename repeat resolve reverse search searchdecl searchpair searchpairpos searchpos server2client serverlist setbufvar setcmdpos setline setloclist setpos setqflist setreg settabwinvar setwinvar simplify sort soundfold spellbadword spellsuggest split str2nr strftime stridx string strlen strpart strridx strtrans submatch substitute synID synIDattr synIDtrans system tabpagebuflist tabpagenr tabpagewinnr tagfiles taglist tempname tolower toupper tr type values virtcol visualmode winbufnr wincol winheight winline winnr winrestcmd winrestview winsaveview winwidth writefile 
 
 "--- syntax above generated by mkvimvim ---
 " Special Vim Highlighting (not automatic) {{{1
--- a/src/fileio.c
+++ b/src/fileio.c
@@ -6482,7 +6482,7 @@ buf_reload(buf, orig_mode)
 	{
 	    /* Allocate a buffer without putting it in the buffer list. */
 	    savebuf = buflist_new(NULL, NULL, (linenr_T)1, BLN_DUMMY);
-	    if (savebuf != NULL)
+	    if (savebuf != NULL && buf == curbuf)
 	    {
 		/* Open the memline. */
 		curbuf = savebuf;
@@ -6491,7 +6491,7 @@ buf_reload(buf, orig_mode)
 		curbuf = buf;
 		curwin->w_buffer = buf;
 	    }
-	    if (savebuf == NULL || saved == FAIL
+	    if (savebuf == NULL || saved == FAIL || buf != curbuf
 				      || move_lines(buf, savebuf) == FAIL)
 	    {
 		EMSG2(_("E462: Could not prepare for reloading \"%s\""),
@@ -6514,18 +6514,17 @@ buf_reload(buf, orig_mode)
 		if (!aborting())
 #endif
 		    EMSG2(_("E321: Could not reload \"%s\""), buf->b_fname);
-		if (savebuf != NULL)
+		if (savebuf != NULL && buf_valid(savebuf) && buf == curbuf)
 		{
 		    /* Put the text back from the save buffer.  First
 		     * delete any lines that readfile() added. */
 		    while (!bufempty())
-			if (ml_delete(curbuf->b_ml.ml_line_count, FALSE)
-								  == FAIL)
+			if (ml_delete(buf->b_ml.ml_line_count, FALSE) == FAIL)
 			    break;
 		    (void)move_lines(savebuf, buf);
 		}
 	    }
-	    else
+	    else if (buf == curbuf)
 	    {
 		/* Mark the buffer as unmodified and free undo info. */
 		unchanged(buf, TRUE);
@@ -6535,12 +6534,12 @@ buf_reload(buf, orig_mode)
 	}
 	vim_free(ea.cmd);
 
-	if (savebuf != NULL)
+	if (savebuf != NULL && buf_valid(savebuf))
 	    wipe_buffer(savebuf, FALSE);
 
 #ifdef FEAT_DIFF
 	/* Invalidate diff info if necessary. */
-	diff_invalidate(buf);
+	diff_invalidate(curbuf);
 #endif
 
 	/* Restore the topline and cursor position and check it (lines may
--- a/src/getchar.c
+++ b/src/getchar.c
@@ -4294,22 +4294,40 @@ eval_map_expr(str)
     char_u	*str;
 {
     char_u	*res;
-    char_u	*s;
-    int		len;
-
-    s = eval_to_string(str, NULL, FALSE);
-    if (s == NULL)
+    char_u	*p;
+    char_u	*s, *d;
+
+    p = eval_to_string(str, NULL, FALSE);
+    if (p == NULL)
 	return NULL;
 
     /* Need a buffer to hold up to three times as much. */
-    len = (int)STRLEN(s);
-    res = alloc((unsigned)(len * 3) + 1);
+    res = alloc((unsigned)(STRLEN(p) * 3) + 1);
     if (res != NULL)
     {
-	STRCPY(res, s);
-	(void)fix_input_buffer(res, len, TRUE);
+	d = res;
+	for (s = p; *s != NUL; )
+	{
+	    if (s[0] == K_SPECIAL && s[1] != NUL && s[2] != NUL)
+	    {
+		/* Copy special key unmodified. */
+		*d++ = *s++;
+		*d++ = *s++;
+		*d++ = *s++;
+	    }
+	    else
+	    {
+		/* Add character, possibly multi-byte to destination, escaping
+		 * CSI and K_SPECIAL. */
+		d = add_char2buf(PTR2CHAR(s), d);
+		mb_ptr_adv(s);
+	    }
+	}
+	*d = NUL;
     }
-    vim_free(s);
+
+    vim_free(p);
+
     return res;
 }
 #endif
--- a/src/gui_w32.c
+++ b/src/gui_w32.c
@@ -185,6 +185,9 @@ static void make_tooltip __ARGS((Balloon
 static void delete_tooltip __ARGS((BalloonEval *beval));
 static VOID CALLBACK BevalTimerProc __ARGS((HWND hwnd, UINT uMsg, UINT idEvent, DWORD dwTime));
 
+#ifndef UINT_PTR
+# define UINT_PTR UINT
+#endif
 static BalloonEval  *cur_beval = NULL;
 static UINT_PTR	    BevalTimerId = 0;
 static DWORD	    LastActivity = 0;
--- a/src/gui_w48.c
+++ b/src/gui_w48.c
@@ -2295,10 +2295,21 @@ gui_mch_update_tabline(void)
     int		nr = 0;
     int		curtabidx = 0;
     RECT	rc;
+#ifdef FEAT_MBYTE
+    WCHAR	*wstr = NULL;
+#endif
 
     if (s_tabhwnd == NULL)
 	return;
 
+#if defined(FEAT_MBYTE) && defined(CCM_SETUNICODEFORMAT)
+    if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+	/*
+	 * Enable unicode support
+	 */
+	SendMessage(s_tabhwnd, CCM_SETUNICODEFORMAT, (WPARAM)TRUE, (LPARAM)0);
+#endif
+
     tie.mask = TCIF_TEXT;
     tie.iImage = -1;
 
@@ -2317,7 +2328,29 @@ gui_mch_update_tabline(void)
 
 	get_tabline_label(tp);
 	tie.pszText = NameBuff;
-	TabCtrl_SetItem(s_tabhwnd, nr, &tie);
+#ifdef FEAT_MBYTE
+	wstr = NULL;
+	if (enc_codepage >= 0 && (int)GetACP() != enc_codepage)
+	{
+	    /* Need to go through Unicode. */
+	    wstr = enc_to_ucs2(NameBuff, NULL);
+	    if (wstr != NULL)
+	    {
+		TCITEMW		tiw;
+
+		tiw.mask = TCIF_TEXT;
+		tiw.iImage = -1;
+		tiw.pszText = wstr;
+		SendMessage(s_tabhwnd, TCM_INSERTITEMW, (WPARAM)nr,
+								(LPARAM)&tiw);
+		vim_free(wstr);
+	    }
+	}
+	if (wstr == NULL)
+#endif
+	{
+	    TabCtrl_SetItem(s_tabhwnd, nr, &tie);
+	}
     }
 
     /* Remove any old labels. */
--- a/src/po/de.po
+++ b/src/po/de.po
@@ -19,10 +19,10 @@ msgstr ""
 "Content-Transfer-Encoding: 8-bit\n"
 
 msgid "E82: Cannot allocate any buffer, exiting..."
-msgstr "E82: Kann keinen Puffer allozieren; beenden..."
+msgstr "E82: Kann keinen Puffer zuweisen; beenden..."
 
 msgid "E83: Cannot allocate buffer, using other one..."
-msgstr "E83: Kann den Puffer nicht allozieren; benutze einen anderen..."
+msgstr "E83: Kann den Puffer nicht zuweisen; benutze einen anderen..."
 
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Keine Puffer wurden ausgeladen"
@@ -55,7 +55,7 @@ msgid "%d buffers wiped out"
 msgstr "%d Puffer gelöscht"
 
 msgid "E84: No modified buffer found"
-msgstr "E84: Es wurde kein veränderter Puffer gefunden"
+msgstr "E84: Kein veränderter Puffer gefunden"
 
 #. back where we started, didn't find anything.
 msgid "E85: There is no listed buffer"
@@ -110,7 +110,7 @@ msgid "[New file]"
 msgstr "[Neue Datei]"
 
 msgid "[Read errors]"
-msgstr "[Lese-Fehler]"
+msgstr "[Lesefehler]"
 
 msgid "[readonly]"
 msgstr "[Nur Lesen]"
@@ -138,7 +138,7 @@ msgid "[Help]"
 msgstr "[Hilfe]"
 
 msgid "[Preview]"
-msgstr "[Voransicht]"
+msgstr "[Vorschau]"
 
 msgid "All"
 msgstr "Alles"
@@ -161,7 +161,7 @@ msgid "[Location List]"
 msgstr "[Positionsliste]"
 
 msgid "[Quickfix List]"
-msgstr "[Quickfix Liste]"
+msgstr "[QuickFix-Liste]"
 
 msgid ""
 "\n"
@@ -212,7 +212,7 @@ msgid "E104: Escape not allowed in digra
 msgstr "E104: 'Escape' ist in einem Digraphen nicht erlaubt"
 
 msgid "E544: Keymap file not found"
-msgstr "E544: Datei für die Tastatur-Belegung nicht gefunden"
+msgstr "E544: Datei für die Tastaturbelegung nicht gefunden"
 
 msgid "E105: Using :loadkeymap not in a sourced file"
 msgstr "E105: :loadkeymap außerhalb einer eingelesenen Datei"
@@ -255,10 +255,10 @@ msgid " Omni completion (^O^N^P)"
 msgstr " Omni-Ergänzung (^O^N^P)"
 
 msgid " Spelling suggestion (s^N^P)"
-msgstr " Rechtschreibprüfung-Vorschlag (s^N^P)"
+msgstr " Vorschlag der Rechtschreibprüfung (s^N^P)"
 
 msgid " Keyword Local completion (^N^P)"
-msgstr " Schlüsselwort-Lokale Ergänzung(^N^P)"
+msgstr " Lokale Schlüsselwort-Ergänzung(^N^P)"
 
 msgid "Hit end of paragraph"
 msgstr "Absatzende erreicht"
@@ -319,7 +319,7 @@ msgstr "E18: Unerwartete Zeichen in :let
 
 #, c-format
 msgid "E684: list index out of range: %ld"
-msgstr "E684: List-Index außerhalb des zulässigen Bereichs: %ld"
+msgstr "E684: Index der Liste außerhalb des zulässigen Bereichs: %ld"
 
 #, c-format
 msgid "E121: Undefined variable: %s"
@@ -337,7 +337,7 @@ msgid "E712: Argument of %s must be a Li
 msgstr "E712: Argument von %s muss eine Liste oder ein Wörterbuch"
 
 msgid "E713: Cannot use empty key for Dictionary"
-msgstr "E713: Der Schlüssel für Wörterbuch darf nicht leer sein"
+msgstr "E713: Der Schlüssel für das Wörterbuch darf nicht leer sein"
 
 msgid "E714: List required"
 msgstr "E714: Liste benötigt"
@@ -355,10 +355,10 @@ msgstr "E716: Schlüssel nicht vorhanden im Wörterbuch: %s"
 
 #, c-format
 msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E122: Funktion %s existiert bereits; ! zum Ersetzen hinzufügen"
+msgstr "E122: Funktion %s existiert bereits; zum Ersetzen ! hinzufügen"
 
 msgid "E717: Dictionary entry already exists"
-msgstr "E717: Wörterbuch-Eintrag existiert bereits"
+msgstr "E717: Wörterbucheintrag existiert bereits"
 
 msgid "E718: Funcref required"
 msgstr "E718: Funcref benötigt"
@@ -379,10 +379,10 @@ msgid "E461: Illegal variable name: %s"
 msgstr "E461: Unzulässiger Name der Variable: %s"
 
 msgid "E687: Less targets than List items"
-msgstr "E687: Weniger Ziele als Listeneinträge"
+msgstr "E687: Weniger Ziele als Einträge der Liste"
 
 msgid "E688: More targets than List items"
-msgstr "E688: Mehr Ziele als Listeneinträge"
+msgstr "E688: Mehr Ziele als Einträge der Liste"
 
 msgid "Double ; in list of variables"
 msgstr "Doppeltes ; in der Liste von Variablen"
@@ -449,7 +449,7 @@ msgstr "E695: Kann keine Funcref indizie
 
 #, c-format
 msgid "E112: Option name missing: %s"
-msgstr "E112: Options-Bezeichnung fehlt: %s"
+msgstr "E112: Bezeichnung der Option fehlt: %s"
 
 #, c-format
 msgid "E113: Unknown option: %s"
@@ -637,7 +637,7 @@ msgid "E131: Cannot delete function %s: 
 msgstr "E131: Funktion %s kann nicht gelöscht werden: sie ist in Verwendung"
 
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
-msgstr "E132: Funktionsaufruf-Tiefe überschreitet 'maxfuncdepth'"
+msgstr "E132: Funktionsaufrufstiefe überschreitet 'maxfuncdepth'"
 
 #, c-format
 msgid "calling %s"
@@ -704,7 +704,7 @@ msgid "%ld lines filtered"
 msgstr "%ld Zeilen gefiltert"
 
 msgid "E135: *Filter* Autocommands must not change current buffer"
-msgstr "E135: *Filter*-Auto-Kommandos dürfen den aktuellen Puffer nicht ändern"
+msgstr "E135: *Filter*-Autokommandos dürfen den aktuellen Puffer nicht ändern"
 
 msgid "[No write since last change]\n"
 msgstr "[Kein Schreiben seit der letzten Änderung]\n"
@@ -762,7 +762,7 @@ msgid "Illegal starting char"
 msgstr "Unzulässiges Zeichen am Anfang"
 
 msgid "Save As"
-msgstr "Schreibe als"
+msgstr "Speichern als"
 
 msgid "Write partial file?"
 msgstr "Partielle Datei schreiben?"
@@ -787,7 +787,7 @@ msgid "E141: No file name for buffer %ld
 msgstr "E141: Kein Dateiname für Puffer %ld"
 
 msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: Datei wurde nicht geschrieben: Schreiben ist durch die 'write'-Option ausgeschaltet"
+msgstr "E142: Datei wurde nicht geschrieben: Schreiben ist durch die Option 'write' ausgeschaltet"
 
 #, c-format
 msgid ""
@@ -798,17 +798,17 @@ msgstr ""
 "Möchten Sie trotzdem schreiben?"
 
 msgid "Edit File"
-msgstr "Editiere Datei"
+msgstr "Öffne Datei"
 
 #, c-format
 msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: Auto-Kommandos löschten unerwartet neuen Puffer %s"
+msgstr "E143: Autokommandos löschten unerwartet neuen Puffer %s"
 
 msgid "E144: non-numeric argument to :z"
 msgstr "E144: Nicht-numerisches Argument für :z"
 
 msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: Shell Befehle sind in rvim nicht erlaubt"
+msgstr "E145: Shell-Befehle sind in rvim nicht erlaubt"
 
 msgid "E146: Regular expressions can't be delimited by letters"
 msgstr "E146: Reguläre Ausdrücke können nicht durch Buchstaben begrenzt werden"
@@ -890,7 +890,7 @@ msgstr "E153: %s kann nicht zum Lesen geöffnet werden"
 
 #, c-format
 msgid "E670: Mix of help file encodings within a language: %s"
-msgstr "E670: Mischung von Hilfsdatei-Kodierungen innerhalb einer Sprache: %s"
+msgstr "E670: Mischung von Kodierungen einer Hilfedatei innerhalb einer Sprache: %s"
 
 #, c-format
 msgid "E154: Duplicate tag \"%s\" in file %s"
@@ -915,11 +915,11 @@ msgid "E155: Unknown sign: %s"
 msgstr "E155: Unbekanntes Zeichen: %s"
 
 msgid "E159: Missing sign number"
-msgstr "E159: Fehlende Zeichen-Nummer"
+msgstr "E159: Fehlende Zeichennummer"
 
 #, c-format
 msgid "E158: Invalid buffer name: %s"
-msgstr "E158: ungültige Puffer-Nummer: %s"
+msgstr "E158: ungültige Puffernummer: %s"
 
 #, c-format
 msgid "E157: Invalid sign ID: %ld"
@@ -975,7 +975,7 @@ msgid "E162: No write since last change 
 msgstr "E162: Puffer \"%s\" wurde seit der letzten Änderung nicht geschrieben"
 
 msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
-msgstr "Achtung: Unerwarteter Eintritt in einen andren Puffer (überprüfen Sie die Autocommandos)"
+msgstr "Achtung: Unerwarteter Eintritt in einen andren Puffer (überprüfen Sie die Autokommandos)"
 
 msgid "E163: There is only one file to edit"
 msgstr "E163: Es gibt nur eine Datei zum Editieren"
@@ -1003,7 +1003,7 @@ msgid "not found in 'runtimepath': \"%s\
 msgstr "im 'runtimepath' nicht gefunden: \"%s\""
 
 msgid "Source Vim script"
-msgstr "Vim Skript"
+msgstr "Führe Vim-Skript aus"
 
 #, c-format
 msgid "Cannot source a directory: \"%s\""
@@ -1085,7 +1085,7 @@ msgid "E464: Ambiguous use of user-defin
 msgstr "E464: Mehrdeutige Verwendung eines benutzerdefinierten Befehls"
 
 msgid "E492: Not an editor command"
-msgstr "E492: Kein Editor-Befehl"
+msgstr "E492: Kein Editorbefehl"
 
 msgid "E493: Backwards range given"
 msgstr "E493: Bereichsgrenzen rückwärts"
@@ -1160,13 +1160,13 @@ msgstr "E184: Unbekannter benutzerdefini
 
 #, c-format
 msgid "E180: Invalid complete value: %s"
-msgstr "E180: Ungültiger Vervollständigungs-Wert: %s"
+msgstr "E180: Ungültiger Wert der Vervollständigung: %s"
 
 msgid "E468: Completion argument only allowed for custom completion"
 msgstr "E468: Argument für Vervollständigung nur für eigene Vervollständigung erlaubt"
 
 msgid "E467: Custom completion requires a function argument"
-msgstr "E467: Eigene Vervollständigung benötigt ein Funktionsargument"
+msgstr "E467: Eigene Vervollständigung benötigt eine Funktion als Argument"
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
@@ -1182,7 +1182,7 @@ msgid "Already only one tab page"
 msgstr "Es existiert bereits nur ein Tab"
 
 msgid "Edit File in new window"
-msgstr "Editiere Datei in einem neuen Fenster"
+msgstr "Öffne Datei in einem neuen Fenster"
 
 msgid "No swap file"
 msgstr "Keine Auslagerungsdatei"
@@ -1207,7 +1207,7 @@ msgid "Window position: X %d, Y %d"
 msgstr "Fenster-Position: X %d, Y %d"
 
 msgid "E188: Obtaining window position not implemented for this platform"
-msgstr "E188: Die Fenster-Position kann für dieses Terminal nicht bestimmt werden"
+msgstr "E188: Die Fensterposition kann für dieses Terminal nicht bestimmt werden"
 
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466: :winpos benötigt zwei numerische Argumente"
@@ -1247,13 +1247,13 @@ msgid "E194: No alternate file name to s
 msgstr "E194: Kein anderer Dateiname zur Ersetzung mit '#'"
 
 msgid "E495: no autocommand file name to substitute for \"<afile>\""
-msgstr "E495: Kein Auto-Kommando-Dateiname zur Ersetzung mit \"<afile>\""
+msgstr "E495: Kein Autokommando-Dateiname zur Ersetzung mit \"<afile>\""
 
 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
-msgstr "E496: Keine Auto-Kommando-Puffernummer zur Ersetzung mit \"<abuf>\""
+msgstr "E496: Keine Autokommando-Puffernummer zur Ersetzung mit \"<abuf>\""
 
 msgid "E497: no autocommand match name to substitute for \"<amatch>\""
-msgstr "E497: Kein passender Name eines Auto-Kommandos zur Ersetzung mit \"<amatch>\""
+msgstr "E497: Kein passender Name eines Autokommandos zur Ersetzung mit \"<amatch>\""
 
 msgid "E498: no :source file name to substitute for \"<sfile>\""
 msgstr "E498: kein :source Dateiname zur Ersetzung mit \"<sfile>\""
@@ -1385,7 +1385,7 @@ msgid " kind file\n"
 msgstr " verwandte Datei\n"
 
 msgid "'history' option is zero"
-msgstr "'history'-Option ist Null"
+msgstr "Option 'history' ist Null"
 
 #, c-format
 msgid ""
@@ -1435,10 +1435,10 @@ msgid "[Permission Denied]"
 msgstr "[Keine Erlaubnis]"
 
 msgid "E200: *ReadPre autocommands made the file unreadable"
-msgstr "E200: *ReadPre Auto-Kommandos haben die Datei unlesbar gemacht"
+msgstr "E200: *ReadPre Autokommandos haben die Datei unlesbar gemacht"
 
 msgid "E201: *ReadPre autocommands must not change current buffer"
-msgstr "E201: *ReadPre Auto-Kommandos dürfen nicht den aktuellen Puffer wechseln"
+msgstr "E201: *ReadPre Autokommandos dürfen nicht den aktuellen Puffer wechseln"
 
 msgid "Vim: Reading from stdin...\n"
 msgstr "Vim: Lese von stdin...\n"
@@ -1504,10 +1504,10 @@ msgid "E676: No matching autocommands fo
 msgstr "E676: Keine übereinstimmenden Autokommandos für acwrite Puffer"
 
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
-msgstr "E203: Auto-Kommandos haben den zu schreibenden Puffer gelöscht oder heraus geladen"
+msgstr "E203: Autokommandos haben den zu schreibenden Puffer gelöscht oder heraus geladen"
 
 msgid "E204: Autocommand changed number of lines in unexpected way"
-msgstr "E204: Auto-Kommandos haben die Anzahl der Zeilen in unerwarteter Weise verändert"
+msgstr "E204: Autokommandos haben die Anzahl der Zeilen in unerwarteter Weise verändert"
 
 msgid "NetBeans dissallows writes of unmodified buffers"
 msgstr "NetBeans verweigert das Schreiben von unveränderten Puffern"
@@ -1663,7 +1663,7 @@ msgid "E210: Error reading \"%s\""
 msgstr "E210: Fehler beim Lesen von \"%s\""
 
 msgid "E246: FileChangedShell autocommand deleted buffer"
-msgstr "E246: FileChangedShell Autokommando löschte Puffer"
+msgstr "E246: FileChangedShell-Autokommando löschte Puffer"
 
 #, c-format
 msgid "E211: Warning: File \"%s\" no longer available"
@@ -1687,7 +1687,7 @@ msgstr "W16: Achtung: Mode der Datei \"%s\" wurde verändert seit mit dem Editieren angefangen wurde"
 
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
-msgstr "W13: Achtug: Datei \"%s\" wurde erstellt, nachdem mit dem Editieren begonnen wurde"
+msgstr "W13: Achtung: Datei \"%s\" wurde erstellt, nachdem mit dem Editieren begonnen wurde"
 
 msgid "See \":help W16\" for more info."
 msgstr "Siehe \":help W16\" für mehr Information"
@@ -1736,24 +1736,24 @@ msgid ""
 "--- Auto-Commands ---"
 msgstr ""
 "\n"
-"--- Auto-Kommandos ---"
+"--- Autokommandos ---"
 
 #, c-format
 msgid "E680: <buffer=%d>: invalid buffer number "
 msgstr "E680: <buffer=%d>: Ungültige Puffer Nummer "
 
 msgid "E217: Can't execute autocommands for ALL events"
-msgstr "E217: Auto-Kommandos können nicht für ALL Ereignisse ausgeführt werden"
+msgstr "E217: Autokommandos können nicht für ALL Ereignisse ausgeführt werden"
 
 msgid "No matching autocommands"
-msgstr "Keine passenden Auto-Kommandos"
+msgstr "Keine passenden Autokommandos"
 
 msgid "E218: autocommand nesting too deep"
-msgstr "E218: Auto-Kommando Schachtelung zu tief"
+msgstr "E218: Autokommando-Schachtelung zu tief"
 
 #, c-format
 msgid "%s Auto commands for \"%s\""
-msgstr "%s Auto-Kommandos für \"%s\""
+msgstr "%s Autokommandos für \"%s\""
 
 #, c-format
 msgid "Executing %s"
@@ -1784,7 +1784,7 @@ msgid "+--%3ld lines folded "
 msgstr "+--%3ld Zeilen gefaltet "
 
 msgid "E222: Add to read buffer"
-msgstr "E222: Zum Lese-Puffer Hinzufügen"
+msgstr "E222: Zum Lesepuffer hinzufügen"
 
 msgid "E223: recursive mapping"
 msgstr "E223: rekursive Zuordnung"
@@ -1832,14 +1832,14 @@ msgstr "E599: Wert von 'imactivatekey' ist ungültig"
 
 #, c-format
 msgid "E254: Cannot allocate color %s"
-msgstr "E254: Farbe für %s kann nicht alloziert werden"
+msgstr "E254: Kann die Farbe %s nicht zuweisen"
 
 msgid "<cannot open> "
 msgstr "<kann nicht öffnen> "
 
 #, c-format
 msgid "E616: vim_SelFile: can't get font %s"
-msgstr "E616: vim_SelFile: Schriftart %s kann nicht erhalten werden"
+msgstr "E616: vim_SelFile: kann Schriftart %s nicht erhalten"
 
 msgid "E614: vim_SelFile: can't return to current directory"
 msgstr "E614: vim_SelFile: kann nicht zum laufenden Verzeichnis zurückkehren"
@@ -1848,7 +1848,7 @@ msgid "Pathname:"
 msgstr "Pfad:"
 
 msgid "E615: vim_SelFile: can't get current directory"
-msgstr "E615: vim_SelFile: laufendes Verzeichnis kann nicht ermittelt werden"
+msgstr "E615: vim_SelFile: aktuelles Verzeichnis kann nicht ermittelt werden"
 
 msgid "OK"
 msgstr "OK"
@@ -1860,13 +1860,13 @@ msgid "Scrollbar Widget: Could not get g
 msgstr "Scrollbar Widget: Geometrie des Bildchens kann nicht ermittelt werden"
 
 msgid "Vim dialog"
-msgstr "VIM - Dialog..."
+msgstr "Vim-Dialog"
 
 msgid "E232: Cannot create BalloonEval with both message and callback"
 msgstr "E232: BalloonEval kann nicht mit sowohl \"message\" und \"callback\" erzeugt werden"
 
 msgid "Vim dialog..."
-msgstr "VIM - Dialog..."
+msgstr "Vim-Dialog..."
 
 msgid ""
 "&Yes\n"
@@ -1917,7 +1917,7 @@ msgid "Replace"
 msgstr "Ersetzen"
 
 msgid "Replace All"
-msgstr "Alle Ersetzen"
+msgstr "Alle ersetzen"
 
 msgid "Vim: Received \"die\" request from session manager\n"
 msgstr "Vim: \"die\"-Request von Session-Manager erhalten\n"
@@ -1971,7 +1971,7 @@ msgid "&Replace"
 msgstr "&Ersetze"
 
 msgid "Replace &All"
-msgstr "Ersetze &Alles"
+msgstr "Ersetze &alles"
 
 msgid "&Undo"
 msgstr "&Rückgängig"
@@ -2009,10 +2009,10 @@ msgid "Open tab..."
 msgstr "Öffne in Tab..."
 
 msgid "Find string (use '\\\\' to find  a '\\')"
-msgstr "Suche Zeichenkette (benütze '\\\\' um ein '\\' zu finden)"
+msgstr "Suche (benütze '\\\\' um ein '\\' zu finden)"
 
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
-msgstr "Suche & Ersetze (use '\\\\' um ein '\\' zu finden)"
+msgstr "Suche & Ersetze (benütze '\\\\' um ein '\\' zu finden)"
 
 #. We fake this: Use a filter that doesn't select anything and a default
 #. * file name that won't be used.
@@ -2023,11 +2023,11 @@ msgid "Directory\t*.nothing\n"
 msgstr "Verzeichnis\t*.nichts\n"
 
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
-msgstr "Vim E458: \"Colormap\"-Eintrag kann nicht alloziert werden, einige Farben können falsch sein"
+msgstr "Vim E458: \"Colormap\"-Eintrag kann nicht zugewiesen werden, einige Farben können falsch sein"
 
 #, c-format
 msgid "E250: Fonts for the following charsets are missing in fontset %s:"
-msgstr "E250: Schriftarten für die folgenden Zeichensätze fehlen im \"fontset\" %s:"
+msgstr "E250: Schriftarten für die folgenden Zeichensätze fehlen im Fontset %s:"
 
 #, c-format
 msgid "E252: Fontset name: %s"
@@ -2035,7 +2035,7 @@ msgstr "E252: Fontset Name: %s"
 
 #, c-format
 msgid "Font '%s' is not fixed-width"
-msgstr "Schriftart '%s' hat keine feste breite"
+msgstr "Schriftart '%s' hat keine feste Breite"
 
 #, c-format
 msgid "E253: Fontset name: %s\n"
@@ -2055,14 +2055,14 @@ msgstr "Die Breite der Schriftart %ld ist nicht doppelt so groß wie die der Schriftart 0\n"
 
 #, c-format
 msgid "Font0 width: %ld\n"
-msgstr "Schriftart0 Breite: %ld\n"
+msgstr "Schriftart 0 Breite: %ld\n"
 
 #, c-format
 msgid ""
 "Font1 width: %ld\n"
 "\n"
 msgstr ""
-"Schriftart1 Breite: %ld\n"
+"Schriftart 1 Breite: %ld\n"
 "\n"
 
 msgid "Invalid font specification"
@@ -2078,7 +2078,7 @@ msgid "Vim - Font Selector"
 msgstr "Vim - Auswahl der Schriftart"
 
 msgid "Name:"
-msgstr "Name: "
+msgstr "Name:"
 
 #. create toggle button
 msgid "Show size in Points"
@@ -2088,7 +2088,7 @@ msgid "Encoding:"
 msgstr "Zeichensatz:"
 
 msgid "Font:"
-msgstr "Schriftart"
+msgstr "Schriftart:"
 
 msgid "Style:"
 msgstr "Stil:"
@@ -2110,7 +2110,7 @@ msgstr "E552: Ziffer erwartet"
 
 #, c-format
 msgid "Page %d"
-msgstr "Sete %d"
+msgstr "Seite %d"
 
 msgid "No text to be printed"
 msgstr "Kein Text zum Drucken"
@@ -2181,7 +2181,7 @@ msgstr "E456: PostScript Ressource-Datei
 
 #, c-format
 msgid "E620: Unable to convert to print encoding \"%s\""
-msgstr "E620: Konvertierung nach dem Zeichensatz für den Ausdruck \"%s\" fehlgeschlagen"
+msgstr "E620: Umwandlung nach dem Zeichensatz für den Ausdruck \"%s\" fehlgeschlagen"
 
 msgid "Sending to printer..."
 msgstr "Schicke zum Drucker..."
@@ -2336,7 +2336,8 @@ msgstr " # pid   Datenbank Name\t                    führender Pfad\n"
 msgid ""
 "???: Sorry, this command is disabled, the MzScheme library could not be "
 "loaded."
-msgstr "???: Dieser Befehl ist nicht verfügbar, die MzScheme Bibliothek konnte nicht "
+msgstr ""
+"???: Dieser Befehl ist nicht verfügbar, die MzScheme Bibliothek konnte nicht "
 "geladen werden"
 
 msgid "invalid expression"
@@ -2358,7 +2359,7 @@ msgid "couldn't open buffer"
 msgstr "konnte Puffer nicht öffnen"
 
 msgid "cannot save undo information"
-msgstr "kann Revertierungs-Information nicht speichern"
+msgstr "kann Information für die Wiederherstellung nicht speichern"
 
 msgid "cannot delete line"
 msgstr "Zeile kann nicht gelöscht werden"
@@ -2370,7 +2371,7 @@ msgid "cannot insert line"
 msgstr "Zeile kann nicht eingefügt werden"
 
 msgid "string cannot contain newlines"
-msgstr "Zeichenfolge kann keine Zeilen-wechsel enthalten"
+msgstr "Zeichenfolge kann keine Zeilenwechsel enthalten"
 
 msgid "Vim error: ~a"
 msgstr "Vim Fehler: ~a"
@@ -2394,7 +2395,7 @@ msgid ""
 "E263: Sorry, this command is disabled, the Python library could not be "
 "loaded."
 msgstr ""
-"E263: Dieser Befehl ist nicht verfügbar, die Python Bibliothek konnte nicht "
+"E263: Dieser Befehl ist nicht verfügbar, die Python-Bibliothek konnte nicht "
 "geladen werden"
 
 msgid "E659: Cannot invoke Python recursively"
@@ -2458,8 +2459,7 @@ msgstr "ungültiges Fenster"
 msgid ""
 "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
 msgstr ""
-"E266: Dieser Befehl ist nicht verfügbar, die Ruby Bibliothek konnte nicht "
-"geladen werden"
+"E266: Dieser Befehl ist nicht verfügbar, die Ruby Bibliothek konnte nicht geladen werden"
 
 #, c-format
 msgid "E273: unknown longjmp status %d"
@@ -2472,7 +2472,7 @@ msgid "Show base class of"
 msgstr "Zeige Basis-Klasse von"
 
 msgid "Show overridden member function"
-msgstr "Zeige überschriebene Mitglieds-Funktion"
+msgstr "Zeige überschriebene Methode"
 
 msgid "Retrieve from file"
 msgstr "Beziehe aus Datei"
@@ -2523,7 +2523,7 @@ msgid ""
 "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
 "$PATH).\n"
 msgstr ""
-"Kann keine verbindung zu SNiFF+ aufnehemen. Prüfe die Umgebung (sniffemacs "
+"Kann keine verbindung zu SNiFF+ aufnehmen. Prüfe die Umgebung (sniffemacs "
 "muss in $PATH) zu finden sein.\n"
 
 msgid "E274: Sniff: Error during read. Disconnected"
@@ -2555,7 +2555,7 @@ msgid "Sniff: Error during write. Discon
 msgstr "Sniff: Fehler beim Schreiben. Verbindung abgebrochen"
 
 msgid "invalid buffer number"
-msgstr "ungültige Puffer-Nummer"
+msgstr "ungültige Puffernummer"
 
 msgid "not implemented yet"
 msgstr "nicht implementiert"
@@ -2578,7 +2578,7 @@ msgid "unknown flag: "
 msgstr "unbekanntes Flag: "
 
 msgid "unknown vimOption"
-msgstr "unbekannte vim Option"
+msgstr "unbekannte vimOption"
 
 msgid "keyboard interrupt"
 msgstr "Tastatur-Unterbrechung"
@@ -2599,14 +2599,16 @@ msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
 msgstr ""
-"E280: TCL FATALER FEHLER: reflist kaputt!? Bitte vim-dev@vim.org benachrichtigen."
+"E280: TCL FATALER FEHLER: reflist kaputt!? Bitte vim-dev@vim.org"
+"benachrichtigen."
 
 msgid "cannot register callback command: buffer/window reference not found"
 msgstr "kann keinen Callback-Befehl registrieren: Puffer/Fenster-Referenz nicht gefunden"
 
 msgid ""
 "E571: Sorry, this command is disabled: the Tcl library could not be loaded."
-msgstr "E571: Dieser Befehl ist nicht verfügbar: die Tcl Bibliothek konnte nicht geladen werden"
+msgstr ""
+"E571: Dieser Befehl ist nicht verfügbar: die Tcl Bibliothek konnte nicht geladen werden"
 
 msgid ""
 "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
@@ -2631,13 +2633,13 @@ msgid "E573: Invalid server id used: %s"
 msgstr "E573: Ungültige Server ID verwendet: %s"
 
 msgid "E251: VIM instance registry property is badly formed.  Deleted!"
-msgstr "E251: Registry-Eigenschaft der VIM Instanz ist fehlerhaft.  Gelöscht!"
+msgstr "E251: Registry-Eigenschaft der VIM Instanz ist fehlerhaft. Gelöscht!"
 
 msgid "Unknown option argument"
 msgstr "Unbekanntes Optionsargument"
 
 msgid "Too many edit arguments"
-msgstr "Zu viele Editor Argumente"
+msgstr "Zu viele Editor-Argumente"
 
 msgid "Argument missing after"
 msgstr "Argument fehlt nach"
@@ -2694,10 +2696,10 @@ msgid "-               read text from st
 msgstr "-               lese Text von stdin"
 
 msgid "-t tag          edit file where tag is defined"
-msgstr "-t tag          editiere Datei in der der Tag definiert wurde"
+msgstr "-t tag          öffne Datei in der der Tag definiert wurde"
 
 msgid "-q [errorfile]  edit file with first error"
-msgstr "-q [Fehler-Datei]  editiere Datei mit erstem Fehler"
+msgstr "-q [Fehler-Datei]  öffne Datei mit erstem Fehler"
 
 msgid ""
 "\n"
@@ -2791,10 +2793,10 @@ msgid "-D\t\t\tDebugging mode"
 msgstr "-D\t\t\tDebug Modus"
 
 msgid "-n\t\t\tNo swap file, use memory only"
-msgstr "-n\t\t\tKeine Auslagerungs-Datei, verwende nur Speicher"
+msgstr "-n\t\t\tKeine Auslagerungsdatei, verwende nur Speicher"
 
 msgid "-r\t\t\tList swap files and exit"
-msgstr "-r\t\t\tListe nur Auslagerungs-Dateien auf"
+msgstr "-r\t\t\tListe nur Auslagerungsdateien auf"
 
 msgid "-r (with file name)\tRecover crashed session"
 msgstr "-r (mit Dateiname)\tStelle abgestürzte Session wieder her"
@@ -2818,7 +2820,7 @@ msgid "-F\t\t\tStart in Farsi mode"
 msgstr "-F\t\t\tStart im Farsi Modus"
 
 msgid "-T <terminal>\tSet terminal type to <terminal>"
-msgstr "-T <terminal>\tSetze Terminal-Typ auf <terminal>"
+msgstr "-T <terminal>\tSetze Terminaltyp auf <terminal>"
 
 msgid "-u <vimrc>\t\tUse <vimrc> instead of any .vimrc"
 msgstr "-u <vimrc>\t\tBenutze <vimrc> anstatt jeglicher .vimrc"
@@ -2833,7 +2835,7 @@ msgid "-o[N]\t\tOpen N windows (default:
 msgstr "-o[N]\t\tÖffne N Fenster (Vorgabe: einzeln für jede Datei)"
 
 msgid "-O[N]\t\tLike -o but split vertically"
-msgstr "-O[N]\t\twie -o, aber teile vertikal"
+msgstr "-O[N]\t\tWie -o, aber teile vertikal"
 
 msgid "+\t\t\tStart at end of file"
 msgstr "+\t\t\tStarte am Ende der Datei"
@@ -2842,7 +2844,7 @@ msgid "+<lnum>\t\tStart at line <lnum>"
 msgstr "+<lnum>\t\tStart in Zeile <lnum>"
 
 msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
-msgstr "--cmd <Befehl>\tFühre <Befehl> vor dem Laden jeglicher vimrc Datei aus"
+msgstr "--cmd <Befehl>\tFühre <Befehl> vor dem Laden jeglicher vimrc-Datei aus"
 
 msgid "-c <command>\t\tExecute <command> after loading the first file"
 msgstr "-c <Befehl>\t\tFühre <Befehl> nach dem Laden der ersten Datei aus"
@@ -2866,10 +2868,10 @@ msgid "-display <display>\tConnect vim t
 msgstr "-display <display>\tStarte vim <display>"
 
 msgid "-X\t\t\tDo not connect to X server"
-msgstr "-X\t\t\tstelle keine Verbindung zum X-server her"
+msgstr "-X\t\t\tStelle keine Verbindung zum X-server her"
 
 msgid "--remote <files>\tEdit <files> in a Vim server if possible"
-msgstr "--remote <Dateien>\tEditiere <Dateien> in einem Vim Server falls möglich"
+msgstr "--remote <Dateien>\tEditiere <Dateien> in einem Vim-Server falls möglich"
 
 msgid "--remote-silent <files>  Same, don't complain if there is no server"
 msgstr "--remote-silent <Dateien>  Dasselbe ohne Warnung, wenn kein Server vorhanden ist"
@@ -2888,13 +2890,13 @@ msgid "--remote-send <keys>\tSend <keys>
 msgstr "--remote-send <keys>\tSchicke <keys> zu einem Vim Server und beende"
 
 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
-msgstr "--remote-expr <Ausdruck>\tFühre <Ausdruck> in einem Vim Server aus und drucke das Ergebnis"
+msgstr "--remote-expr <Ausdruck>\tFühre <Ausdruck> in einem Vim-Server aus und drucke das Ergebnis"
 
 msgid "--serverlist\t\tList available Vim server names and exit"
-msgstr "--serverlist\t\tDrucke verfügbare Vim Server Namen und beende"
+msgstr "--serverlist\t\tDrucke verfügbare Vim-Server-Namen und beende"
 
 msgid "--servername <name>\tSend to/become the Vim server <name>"
-msgstr "--servername <Name>\tBenutze den Vim server <Name>"
+msgstr "--servername <Name>\tBenutze den Vim-Server <Name>"
 
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tBenutze <viminfo> statt .viminfo"
@@ -2910,21 +2912,21 @@ msgid ""
 "Arguments recognised by gvim (Motif version):\n"
 msgstr ""
 "\n"
-"Argumente für die gvim Motif Version:\n"
+"Argumente für die gvim (Motif Version):\n"
 
 msgid ""
 "\n"
 "Arguments recognised by gvim (neXtaw version):\n"
 msgstr ""
 "\n"
-"Argumente für die gvim neXtaw Version:\n"
+"Argumente für die gvim (neXtaw Version):\n"
 
 msgid ""
 "\n"
 "Arguments recognised by gvim (Athena version):\n"
 msgstr ""
 "\n"
-"Argumente für die gvim Athena Version:\n"
+"Argumente für die gvim (Athena Version):\n"
 
 msgid "-display <display>\tRun vim on <display>"
 msgstr "-display <display>\tStarte vim auf <display>"
@@ -3019,7 +3021,7 @@ msgstr ": Versendung fehlgeschlagen. Versuche lokale Ausführung\n"
 
 #, c-format
 msgid "%d of %d edited"
-msgstr "%d von %d editiert"
+msgstr "%d von %d bearbeitet"
 
 msgid "No display: Send expression failed.\n"
 msgstr "Keine Anzeige: Versenden des Ausdrucks fehlgeschlagen.\n"
@@ -3093,16 +3095,16 @@ msgid "E285: Failed to create input cont
 msgstr "E285: Eingabe-Kontext konnte nicht erzeugt werden"
 
 msgid "E286: Failed to open input method"
-msgstr "E286: Eingabe-Methode konnte geöffnet werden"
+msgstr "E286: Eingabemethode konnte geöffnet werden"
 
 msgid "E287: Warning: Could not set destroy callback to IM"
 msgstr "E287: Achtung: Destroy Callabck konnte nicht auf IM gesetzt werden"
 
 msgid "E288: input method doesn't support any style"
-msgstr "E288: Eingabe-Methode unterstützt keinen einzigen Stil"
+msgstr "E288: Eingabemethode unterstützt keinen einzigen Stil"
 
 msgid "E289: input method doesn't support my preedit type"
-msgstr "E289: Eingabe-Methode unterstützt nicht meinen Voreditier-Typen"
+msgstr "E289: Eingabemethode unterstützt nicht meinen Voreditier-Typen"
 
 msgid "E290: over-the-spot style requires fontset"
 msgstr "E290: der Über-dem-Punkt Stil benötigt fontset"
@@ -3111,25 +3113,25 @@ msgid "E291: Your GTK+ is older than 1.2
 msgstr "E291: Ihr GTK+ ist älter als 1.2.3. Der Status-Bereich wird abgeschaltet"
 
 msgid "E292: Input Method Server is not running"
-msgstr "E292: Server der Eingabe-Methode läuft nicht"
+msgstr "E292: Server der Eingabemethode läuft nicht"
 
 msgid "E293: block was not locked"
 msgstr "E293: Block war nicht gesperrt"
 
 msgid "E294: Seek error in swap file read"
-msgstr "E294: Positionier-Fehler beim Lesen der Auslagerungs-Datei"
+msgstr "E294: Positionierungsfehler beim Lesen der Auslagerungsdatei"
 
 msgid "E295: Read error in swap file"
-msgstr "E295: Lese-Fehler in der Auslagerungs-Datei"
+msgstr "E295: Lesefehler in der Auslagerungsdatei"
 
 msgid "E296: Seek error in swap file write"
-msgstr "E296: Positionier-Fehler beim Schreiben in die Auslagerungs-Datei"
+msgstr "E296: Positionierungsfehler beim Schreiben in die Auslagerungsdatei"
 
 msgid "E297: Write error in swap file"
-msgstr "E297: Fehler beim Schreiben in die Auslagerungs-Datei"
+msgstr "E297: Fehler beim Schreiben in die Auslagerungsdatei"
 
 msgid "E300: Swap file already exists (symlink attack?)"
-msgstr "E300: Auslagerungs-Datei ist bereits vorhanden (symlink Attacke?)"
+msgstr "E300: Auslagerungsdatei ist bereits vorhanden (symlink Attacke?)"
 
 msgid "E298: Didn't get block nr 0?"
 msgstr "E298: Block Nr. 0 nicht erhalten?"
@@ -3142,24 +3144,24 @@ msgstr "E298: Block Nr. 2 nicht erhalten
 
 #. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
-msgstr "E301: Ups, Verlust der Auslagerungs-Datei!!!"
+msgstr "E301: Ups, Verlust der Auslagerungsdatei!!!"
 
 msgid "E302: Could not rename swap file"
-msgstr "E302: Auslagerungs-Datei konnte nicht umbenannt werden"
+msgstr "E302: Auslagerungsdatei konnte nicht umbenannt werden"
 
 #, c-format
 msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
-msgstr "E303: Auslagerungs-Datei für \"%s\" konnte nicht geöffnet werden, Wiederherstellung unmöglich"
+msgstr "E303: Auslagerungsdatei für \"%s\" konnte nicht geöffnet werden, Wiederherstellung unmöglich"
 
 msgid "E304: ml_timestamp: Didn't get block 0??"
 msgstr "E304: ml_timestamp: Block Nr. 0 nicht erhalten?"
 
 #, c-format
 msgid "E305: No swap file found for %s"
-msgstr "E305: Keine Auslagerungs-Datei für %s gefunden"
+msgstr "E305: Keine Auslagerungsdatei für %s gefunden"
 
 msgid "Enter number of swap file to use (0 to quit): "
-msgstr "Geben Sie die Nummer der Auslagerungs-Datei ein die verwendet werden soll (0 um abzubrechen): "
+msgstr "Geben Sie die Nummer der Auslagerungsdatei ein die verwendet werden soll (0 um abzubrechen): "
 
 #, c-format
 msgid "E306: Cannot open %s"
@@ -3173,7 +3175,7 @@ msgid ""
 "Maybe no changes were made or Vim did not update the swap file."
 msgstr ""
 "\n"
-"Vielleicht wurden keine Änderungen vorgenommen oder Vim hatte die Auslagerungs-Datei nicht aktualisiert."
+"Vielleicht wurden keine Änderungen vorgenommen oder Vim hatte die Auslagerungsdatei nicht aktualisiert."
 
 msgid " cannot be used with this version of Vim.\n"
 msgstr " kann nicht zusammen mit dieser Vim Version verwendet werden.\n"
@@ -3183,7 +3185,7 @@ msgstr "Benutze Vim Version 3.0.\n"
 
 #, c-format
 msgid "E307: %s does not look like a Vim swap file"
-msgstr "E307: %s sieht nicht wie eine Vim Auslagerungs-Datei aus"
+msgstr "E307: %s sieht nicht wie eine Vim Auslagerungsdatei aus"
 
 msgid " cannot be used on this computer.\n"
 msgstr " kann auf diesem Rechner nicht verwendet werden.\n"
@@ -3200,14 +3202,14 @@ msgstr ""
 
 #, c-format
 msgid "Using swap file \"%s\""
-msgstr "Verwende Auslagerungs-Datei \"%s\""
+msgstr "Verwende Auslagerungsdatei \"%s\""
 
 #, c-format
 msgid "Original file \"%s\""
 msgstr "Original-Datei \"%s\""
 
 msgid "E308: Warning: Original file may have been changed"
-msgstr "E308: Warnung: Die Original-Datei könnte verändert worden sein"
+msgstr "E308: Warnung: Die Originaldatei könnte verändert worden sein"
 
 #, c-format
 msgid "E309: Unable to read block 1 from %s"
@@ -3274,7 +3276,7 @@ msgstr ""
 
 #. use msg() to start the scrolling properly
 msgid "Swap files found:"
-msgstr "Auslagerungs-Dateien gefunden:"
+msgstr "Auslagerungsdateien gefunden:"
 
 msgid "   In current directory:\n"
 msgstr "   Im laufenden Verzeichnis:\n"
@@ -3301,7 +3303,7 @@ msgid "         [from Vim version 3.0]"
 msgstr "         [von Vim Version 3.0]"
 
 msgid "         [does not look like a Vim swap file]"
-msgstr "         [sieht nicht wie eine Vim Auslagerungs-Datei aus]"
+msgstr "         [sieht nicht wie eine Vim Auslagerungsdatei aus]"
 
 msgid "         file name: "
 msgstr "         Dateiname: "
@@ -3324,24 +3326,24 @@ msgid ""
 "         user name: "
 msgstr ""
 "\n"
-"     Benutzer Name: "
+"     Benutzer-Name: "
 
 msgid "   host name: "
-msgstr "   Host Name: "
+msgstr "   Host-Name: "
 
 msgid ""
 "\n"
 "         host name: "
 msgstr ""
 "\n"
-"         Host Name: "
+"         Host-Name: "
 
 msgid ""
 "\n"
 "        process ID: "
 msgstr ""
 "\n"
-"        Process ID: "
+"        Process-ID: "
 
 msgid " (still running)"
 msgstr " (läuft noch)"
@@ -3367,7 +3369,7 @@ msgid "         [cannot be opened]"
 msgstr "         [kann nicht geöffnet werden]"
 
 msgid "E313: Cannot preserve, there is no swap file"
-msgstr "E313: Kann nicht absichern, es gibt keine Auslagerungs-Datei"
+msgstr "E313: Kann nicht absichern, es gibt keine Auslagerungsdatei"
 
 msgid "File preserved"
 msgstr "Datei gesichert"
@@ -3384,7 +3386,7 @@ msgid "E316: ml_get: cannot find line %l
 msgstr "E316: ml_get: Zeile %ld kann nicht gefunden werden"
 
 msgid "E317: pointer block id wrong 3"
-msgstr "E317: Zeiger-Block id falsch 3"
+msgstr "E317: Zeiger Block id falsch 3"
 
 msgid "stack_idx should be 0"
 msgstr "stack_idx sollte 0 sein"
@@ -3430,13 +3432,13 @@ msgid ""
 "Found a swap file by the name \""
 msgstr ""
 "\n"
-"Auslagerungs-Datei mit folgendem Namen gefunden: \""
+"Auslagerungsdatei mit folgendem Namen gefunden: \""
 
 msgid "While opening file \""
 msgstr "Beim Öffnen der Datei \""
 
 msgid "      NEWER than swap file!\n"
-msgstr "      neuer als Auslagerungs-Datei!\n"
+msgstr "      neuer als Auslagerungsdatei!\n"
 
 #. Some of these messages are long to allow translation to
 #. * other languages.
@@ -3459,7 +3461,7 @@ msgid ""
 "(2) An edit session for this file crashed.\n"
 msgstr ""
 "\n"
-"(2) Eine Editier-Sitzung für diese Datei ist abgestürzt.\n"
+"(2) Eine Editiersitzung für diese Datei ist abgestürzt.\n"
 
 msgid "    If this is the case, use \":recover\" or \"vim -r "
 msgstr "    Wenn dies der Fall ist, so verwenden Sie \":recover\" oder \"vim -r "
@@ -3472,8 +3474,7 @@ msgstr ""
 "    um die Änderungen wiederherzustellen (siehe \":help recovery\").\n"
 
 msgid "    If you did this already, delete the swap file \""
-msgstr ""
-"    Wenn dies bereits geschehen ist, löschen Sie die Auslagerungs-Datei \""
+msgstr "    Wenn dies bereits geschehen ist, löschen Sie die Auslagerungsdatei \""
 
 msgid ""
 "\"\n"
@@ -3483,7 +3484,7 @@ msgstr ""
 "    um diese Nachricht zu vermeiden.\n"
 
 msgid "Swap file \""
-msgstr "Auslagerungs-Datei \""
+msgstr "Auslagerungsdatei \""
 
 msgid "\" already exists!"
 msgstr "\" ist bereits vorhanden!"
@@ -3492,7 +3493,7 @@ msgid "VIM - ATTENTION"
 msgstr "VIM - ACHTUNG"
 
 msgid "Swap file already exists!"
-msgstr "Auslagerungs-Datei ist bereits vorhanden!"
+msgstr "Auslagerungsdatei ist bereits vorhanden!"
 
 msgid ""
 "&Open Read-Only\n"
@@ -3523,7 +3524,7 @@ msgstr ""
 "&Abbrechen"
 
 msgid "E326: Too many swap files found"
-msgstr "E326: Zu viele Auslagerungs-Dateien gefunden"
+msgstr "E326: Zu viele Auslagerungsdateien gefunden"
 
 msgid "E327: Part of menu-item path is not sub-menu"
 msgstr "E327: Teil des Menüpunkt-Pfades muss zum Untermenü führen"
@@ -3539,7 +3540,7 @@ msgid "E330: Menu path must not lead to 
 msgstr "E330: Menü-Pfad darf nicht zum Untermenü führen"
 
 msgid "E331: Must not add menu items directly to menu bar"
-msgstr "E331: Menü-Punkt können nicht direkt zum Menü-Balken hinzugefügt werden"
+msgstr "E331: Menüpunkt können nicht direkt zum Menü-Balken hinzugefügt werden"
 
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Trenner kann nicht Teil des Menü-Pfades sein"
@@ -3557,7 +3558,7 @@ msgid "Tear off this menu"
 msgstr "Reiße dieses Menü ab"
 
 msgid "E333: Menu path must lead to a menu item"
-msgstr "E333: Menü-Pfad muss zu einem Menü-Punkt führen"
+msgstr "E333: Menü-Pfad muss zu einem Menüpunkt führen"
 
 #, c-format
 msgid "E334: Menu not found: %s"
@@ -3586,7 +3587,7 @@ msgid "E354: Invalid register name: '%s'
 msgstr "E354: Ungültiger Register Name: '%s'"
 
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
-msgstr "Übersetzt von Johannes Zellner <johannes@zellner.org> und Georg Dahn <gorgyd@yahoo.co.uk>"
+msgstr "Übersetzt von Georg Dahn <gorgyd@yahoo.co.uk>"
 
 msgid "Interrupt: "
 msgstr "Unterbrechung: "
@@ -3688,7 +3689,7 @@ msgid ""
 "[bytes] total alloc-freed %lu-%lu, in use %lu, peak use %lu\n"
 msgstr ""
 "\n"
-"[Bytes] gesamt alloziert-frei %lu-%lu, in Verwendung %lu, maximale Verwendung %lu\n"
+"[Bytes] gesamt alloc-frei %lu-%lu, in Verwendung %lu, maximale Verwendung %lu\n"
 
 #, c-format
 msgid ""
@@ -3707,7 +3708,7 @@ msgstr "E341: Interner Fehler: lalloc(%l
 
 #, c-format
 msgid "E342: Out of memory!  (allocating %lu bytes)"
-msgstr "E342: Kein Speicherplatz mehr vorhanden (%lu bytes alloziert)"
+msgstr "E342: Kein Speicherplatz mehr vorhanden (%lu Bytes reserviert)"
 
 #, c-format
 msgid "Calling shell to execute: \"%s\""
@@ -3720,7 +3721,7 @@ msgid "E546: Illegal mode"
 msgstr "E546: Unzulässiger Modus"
 
 msgid "E547: Illegal mouseshape"
-msgstr "E547: Unzulässige Mauszeiger"
+msgstr "E547: Unzulässiger Mauszeiger"
 
 msgid "E548: digit expected"
 msgstr "E548: Ziffer erwartet"
@@ -3894,7 +3895,7 @@ msgstr ""
 "\n"
 "# Register:\n"
 
-#, fuzzy, c-format
+#, c-format
 msgid "E574: Unknown register type %d"
 msgstr "E574: Unbekannter Register Typ %d"
 
@@ -4251,7 +4252,7 @@ msgid "Opening the X display failed"
 msgstr "Öffnen des X-Displays schlug fehl"
 
 msgid "XSMP handling save-yourself request"
-msgstr ""
+msgstr "XSMP verarbeitet 'save-yourself request'"
 
 msgid "XSMP opening connection"
 msgstr "XSMP öffnet Verbindung"
@@ -4602,7 +4603,7 @@ msgstr "E756: Rechtschreibprüfung ist nicht aktiviert"
 
 #, c-format
 msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
-msgstr "Achtung: Kann Wörter-Liste \"%s.%s.spl\" oder \"%s.ascii.spl\" nicht finden"
+msgstr "Achtung: Kann Wortliste \"%s.%s.spl\" oder \"%s.ascii.spl\" nicht finden"
 
 #, c-format
 msgid "Reading spell file \"%s\""
@@ -4618,7 +4619,7 @@ msgid "E772: Spell file is for newer ver
 msgstr "E772: Wörterbuch für die Rechtschreibprüfung ist für eine neuere Version von Vim"
 
 msgid "E770: Unsupported section in spell file"
-msgstr "E770: Nicht unterstützter Abschnit im Wörterbuch für die Rechtschreibprüfung"
+msgstr "E770: Nicht unterstützter Abschnitt im Wörterbuch für die Rechtschreibprüfung"
 
 #, c-format
 msgid "Warning: region %s not supported"
@@ -4630,15 +4631,15 @@ msgstr "Lese Affix-Datei %s ..."
 
 #, c-format
 msgid "Conversion failure for word in %s line %d: %s"
-msgstr "Konversionsfehler beim Wort in %s Zeile %d: %s"
+msgstr "Umwandlungsfehler beim Wort in %s Zeile %d: %s"
 
 #, c-format
 msgid "Conversion in %s not supported: from %s to %s"
-msgstr "Konversion in %s nicht unterstützt: von %s nach %s"
+msgstr "Umwandlung in %s nicht unterstützt: von %s nach %s"
 
 #, c-format
 msgid "Conversion in %s not supported"
-msgstr "Konversion in %s nicht unterstützt"
+msgstr "Umwandlung in %s nicht unterstützt"
 
 #, c-format
 msgid "Invalid value for FLAG in %s line %d: %s"
@@ -4650,23 +4651,23 @@ msgstr "FLAG nach dem Gebrauch von Flags
 
 #, c-format
 msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
-msgstr "Falscher COMPOUNDWORDMAX Wert in %s Zeile %d: %s"
+msgstr "Falscher COMPOUNDWORDMAX-Wert in %s Zeile %d: %s"
 
 #, c-format
 msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
-msgstr "Falscher COMPOUNDMIN Wert in %s Zeile %d: %s"
+msgstr "Falscher COMPOUNDMIN-Wert in %s Zeile %d: %s"
 
 #, c-format
 msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
-msgstr "Falscher COMPOUNDSYLMAX Wert in %s Zeile %d: %s"
+msgstr "Falscher COMPOUNDSYLMAX-Wert in %s Zeile %d: %s"
 
 #, c-format
 msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
-msgstr "Falscher CHECKCOMPOUNDPATTERN Wert in %s Zeile %d: %s"
+msgstr "Falscher CHECKCOMPOUNDPATTERN-Wert in %s Zeile %d: %s"
 
 #, c-format
 msgid "Different combining flag in continued affix block in %s line %d: %s"
-msgstr "Unterschiedliches verknüpfendes Flag im fortgesetzten Affix Block in %s Zeile %d: %s"
+msgstr "Unterschiedliches verknüpfendes Flag im fortgesetzten Affix-Block in %s Zeile %d: %s"
 
 #, c-format
 msgid "Duplicate affix in %s line %d: %s"
@@ -4967,7 +4968,7 @@ msgstr ""
 
 #, c-format
 msgid "E392: No such syntax cluster: %s"
-msgstr "E392: Kein solches Syntax-Cluster: %s"
+msgstr "E392: Kein solcher Syntax-Cluster: %s"
 
 msgid "minimal "
 msgstr "minimal "
@@ -5021,7 +5022,7 @@ msgid "E402: Garbage after pattern: %s"
 msgstr "E402: Schrott nach Muster: %s"
 
 msgid "E403: syntax sync: line continuations pattern specified twice"
-msgstr "E403: Syntax sync: Zeilen Fortsetzungs Muster zweifach angegeben"
+msgstr "E403: Syntax sync: Zeilen-Fortsetzungsmuster zweifach angegeben"
 
 #, c-format
 msgid "E404: Illegal arguments: %s"
@@ -5045,7 +5046,7 @@ msgstr "E408: %s muss als Erstes in der 
 
 #, c-format
 msgid "E409: Unknown group name: %s"
-msgstr "E409: Unbekannter Gruppen-Name: %s"
+msgstr "E409: Unbekannter Gruppenname: %s"
 
 #, c-format
 msgid "E410: Invalid :syntax subcommand: %s"
@@ -5056,7 +5057,7 @@ msgstr "E679: Rekursive Schleife beim La
 
 #, c-format
 msgid "E411: highlight group not found: %s"
-msgstr "E411: Hervorhebungs-Gruppe nicht gefunden: %s"
+msgstr "E411: Hervorhebungsgruppe nicht gefunden: %s"
 
 #, c-format
 msgid "E412: Not enough arguments: \":highlight link %s\""
@@ -5067,7 +5068,7 @@ msgid "E413: Too many arguments: \":high
 msgstr "E412: Zu viele Argumente: \":highlight link %s\""
 
 msgid "E414: group has settings, highlight link ignored"
-msgstr "E414: Gruppe hat Einstellungen, Unterstreichungs Link ignoriert"
+msgstr "E414: Gruppe hat Einstellungen, Unterstreichung Link ignoriert"
 
 #, c-format
 msgid "E415: unexpected equal sign: %s"
@@ -5093,7 +5094,7 @@ msgstr "E420: BG Farbe unbekannt"
 
 #, c-format
 msgid "E421: Color name or number not recognized: %s"
-msgstr "E421: Unbekannte Farb-Bezeichnung oder -Nummer: %s"
+msgstr "E421: Unbekannte Farbbezeichnung oder -Nummer: %s"
 
 #, c-format
 msgid "E422: terminal code too long: %s"
@@ -5104,7 +5105,7 @@ msgid "E423: Illegal argument: %s"
 msgstr "E423: Unzulässiges Argument: %s"
 
 msgid "E424: Too many different highlighting attributes in use"
-msgstr "E424: Zu viele verschieden Hervorhebungs-Attribute in Gebrauch"
+msgstr "E424: Zu viele verschieden Hervorhebungsattribute in Gebrauch"
 
 msgid "E669: Unprintable character in group name"
 msgstr "E669: Nicht druckbare Zeichen im Namen der Gruppe"
@@ -5150,7 +5151,7 @@ msgid " or more"
 msgstr " oder mehr"
 
 msgid "  Using tag with different case!"
-msgstr "  Verwendung eines Tags mit abgewandelter Groß/Klein-Schreibung"
+msgstr "  Verwendung eines Tags mit abgewandelter Groß-/Klein-Schreibung"
 
 #, c-format
 msgid "E429: File \"%s\" does not exist"
@@ -5195,7 +5196,7 @@ msgid "E435: Couldn't find tag, just gue
 msgstr "E435: Tag konnte nicht gefunden werden, das ist nur eine Vermutung!"
 
 msgid "' not known. Available builtin terminals are:"
-msgstr "' nicht bekannt. Zur Verfügung stehen die folgenden eingebauten Terminals:"
+msgstr "' nicht bekannt. Die folgenden eingebauten Terminals stehen zur Verfügung:"
 
 msgid "defaulting to '"
 msgstr "Voreinstellung '"
@@ -5204,17 +5205,17 @@ msgid "E557: Cannot open termcap file"
 msgstr "E557: Termcap-Datei kann nicht geöffnet werden"
 
 msgid "E558: Terminal entry not found in terminfo"
-msgstr "E558: Terminal-Eintrag konte in der Terminfo-Datenbank nicht gefunden werden"
+msgstr "E558: Terminal-Eintrag konnte in der Terminfo-Datenbank nicht gefunden werden"
 
 msgid "E559: Terminal entry not found in termcap"
-msgstr "E559: Terminal-Eintrag konnte in der Termcap-Datei nicht gefunden werden"
+msgstr "E559: Terminaleintrag konnte in der Termcap-Datei nicht gefunden werden"
 
 #, c-format
 msgid "E436: No \"%s\" entry in termcap"
 msgstr "E436: Kein \"%s\" Eintrag in termcap"
 
 msgid "E437: terminal capability \"cm\" required"
-msgstr "E437: Terminal-Fähigkeit \"cm\" wird benötigt"
+msgstr "E437: Terminalfähigkeit \"cm\" wird benötigt"
 
 #. Highlight title
 msgid ""
@@ -5231,7 +5232,7 @@ msgid "Vim: Error reading input, exiting
 msgstr "Vim: Fehler beim Lesen der Eingabe, Abbruch...\n"
 
 msgid "No undo possible; continue anyway"
-msgstr "Rückgängigmachung nicht möglich; setze trotz dem fort"
+msgstr "Wiederherstellung nicht möglich; setze trotz dem fort"
 
 msgid "Already at oldest change"
 msgstr "Bereits bei der ältesten Änderung"
@@ -5241,7 +5242,7 @@ msgstr "Bereits bei der jüngsten Änderung"
 
 #, c-format
 msgid "Undo number %ld not found"
-msgstr "Nummer %ld zur Rückgängigmachung nicht gefunden"
+msgstr "Nummer %ld zur Wiederherstellung nicht gefunden"
 
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: Zeilennummer falsch"
@@ -5275,16 +5276,16 @@ msgid "after"
 msgstr "nach"
 
 msgid "Nothing to undo"
-msgstr "Nichts zum tun"
+msgstr "Nichts wiederherzustellen"
 
 msgid "number changes  time"
 msgstr "Nummer Änd.     Zeit"
 
 msgid "E439: undo list corrupt"
-msgstr "E439: Liste der Rückgängigmachungen fehlerhaft"
+msgstr "E439: Liste der Wiederherstellungen fehlerhaft"
 
 msgid "E440: undo line missing"
-msgstr "E440: Rückgängigmachungszeile fehlt"
+msgstr "E440: Wiederherstellungszeile fehlt"
 
 #. Only MS VC 4.1 and earlier can do Win32s
 msgid ""
@@ -5305,14 +5306,14 @@ msgid " in Win32s mode"
 msgstr " in Win32s Modus"
 
 msgid " with OLE support"
-msgstr " mit OLE Unterstützung"
+msgstr " mit OLE-Unterstützung"
 
 msgid ""
 "\n"
 "MS-Windows 32 bit console version"
 msgstr ""
 "\n"
-"MS-Windows 32 Bit Konsolen Version"
+"MS-Windows 32 Bit Konsolen-Version"
 
 msgid ""
 "\n"
@@ -5368,7 +5369,7 @@ msgid ""
 "Included patches: "
 msgstr ""
 "\n"
-"Inclusive der Korrekturen: "
+"Inklusive der Korrekturen: "
 
 msgid "Modified by "
 msgstr "Verändert von "
@@ -5643,7 +5644,7 @@ msgid "E10: \\ should be followed by /, 
 msgstr "E10: \\ sollte von /, ? or & gefolgt werden"
 
 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
-msgstr "E11: Ungültig im Kommando-Zeilen Fenster; <CR> führt aus, CTRL-C beendet"
+msgstr "E11: Ungültig im Kommandozeilenfenster; <CR> führt aus, CTRL-C beendet"
 
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
 msgstr "E12: Befehl nicht zulässig vom exrc/vimrc in der momentanen Verzeichnis- oder Tag-Suche"
@@ -5717,11 +5718,11 @@ msgstr "E17: \"%s\" ist ein Verzeichnis"
 
 #, c-format
 msgid "E364: Library call failed for \"%s()\""
-msgstr "E364: Bibliotheks-Aufruf für \"%s()\" schlug fehl"
+msgstr "E364: Bibliotheksaufruf für \"%s()\" schlug fehl"
 
 #, c-format
 msgid "E448: Could not load library function %s"
-msgstr "E448: Bibliotheks-Funktion %s konnte nicht geladen werden"
+msgstr "E448: Bibliotheksfunktion %s konnte nicht geladen werden"
 
 msgid "E19: Mark has invalid line number"
 msgstr "E19: Marke hat ungültige Zeilennummer"
@@ -5758,7 +5759,7 @@ msgstr "E800: Arabisch kann nicht benutzt werden: wurde zum Zeitpunkt des Übersetzens nicht eingeschaltet.\n"
 
 #, c-format
 msgid "E28: No such highlight group name: %s"
-msgstr "E28: Hervorhebungs-Gruppe existiert nicht: %s"
+msgstr "E28: Hervorhebungsgruppe existiert nicht: %s"
 
 msgid "E29: No inserted text yet"
 msgstr "E29: Noch kein eingefügter Text"
@@ -5780,7 +5781,7 @@ msgid "E32: No file name"
 msgstr "E32: Kein Dateiname"
 
 msgid "E33: No previous substitute regular expression"
-msgstr "E33: Kein vorheriger regulärer Ersetzungs-Ausdruck"
+msgstr "E33: Kein vorheriger regulärer Ersetzungsausdruck"
 
 msgid "E34: No previous command"
 msgstr "E34: Kein vorheriger Befehl"
@@ -5796,7 +5797,7 @@ msgstr "E36: Zu wenig Platz"
 
 #, c-format
 msgid "E247: no registered server named \"%s\""
-msgstr "E247: Kein registrierter Server-Name \"%s\""
+msgstr "E247: Kein registrierter Servername \"%s\""
 
 #, c-format
 msgid "E482: Can't create file %s"
@@ -5824,7 +5825,7 @@ msgstr "E39: Nummer erwartet"
 
 #, c-format
 msgid "E40: Can't open errorfile %s"
-msgstr "E40: Fehler-Datei %s kann nicht geöffnet werden"
+msgstr "E40: Fehlerdatei %s kann nicht geöffnet werden"
 
 msgid "E233: cannot open display"
 msgstr "E233: Display kann nicht geöffnet werden"
@@ -5865,7 +5866,7 @@ msgid "E46: Cannot set read-only variabl
 msgstr "E46: Variable \"%s\" kann nur gelesen werden"
 
 msgid "E47: Error while reading errorfile"
-msgstr "E47: Fehler während des Lesens der Fehler-Datei"
+msgstr "E47: Fehler während des Lesens der Fehlerdatei"
 
 msgid "E48: Not allowed in sandbox"
 msgstr "E48: In einer Sandbox nicht erlaubt"
@@ -5883,10 +5884,10 @@ msgid "E91: 'shell' option is empty"
 msgstr "E91: Die Option 'shell' ist leer"
 
 msgid "E255: Couldn't read in sign data!"
-msgstr "E255: Fehler -- Daten für Debugger-Symbol konnten nicht gelesen werden"
+msgstr "E255: Fehler -- Daten für Debuggersymbol konnten nicht gelesen werden"
 
 msgid "E72: Close error on swap file"
-msgstr "E72: Fehler beim Schließen der Auslagerungs-Datei"
+msgstr "E72: Fehler beim Schließen der Auslagerungsdatei"
 
 msgid "E73: tag stack empty"
 msgstr "E73: tag Stapel leer."
@@ -5916,7 +5917,7 @@ msgid "E591: 'winheight' cannot be small
 msgstr "E591: 'winheight' darf nicht kleiner sein als 'winminheight'"
 
 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
-msgstr "E592: 'winwidth darf nicht kleiner sein als 'winminwidth'"
+msgstr "E592: 'winwidth' darf nicht kleiner sein als 'winminwidth'"
 
 msgid "E80: Error while writing"
 msgstr "E80: Fehler während des Schreibens"
@@ -5991,3 +5992,6 @@ msgstr "Die Länge des Pfads ist zu groß!"
 
 msgid "Edits the selected file(s) with Vim"
 msgstr "Editiert die ausgewählte(n) Datei(en) mit Vim"
+
+msgid "%ld seconds ago"
+msgstr "vor %ld Sekunden"
--- a/src/po/fr.po
+++ b/src/po/fr.po
@@ -69,8 +69,10 @@
 # 			  - Update to Vim 6.2f.014 (quickly, too)
 # 			  - Fifty-nine new messages (rough translation)
 # 			  - Hundreds of error messages numbers added (wow)
+# 2006-04-15    DB      Vim 7.0 first draft, based on fr.po 7.0c03
+#                         - 285 new messages.
 #
-# Translated:	 1392/1392 (100.00%)
+# Translated:	 1677/1677 (100.00%)
 #
 # Polishing done on:
 #  buffer.c
@@ -90,9 +92,10 @@
 msgid ""
 msgstr ""
 "Project-Id-Version: Vim(Français)\n"
-"POT-Creation-Date: 2003-05-28 23:09+0200\n"
-"PO-Revision-Date: 2003-05-29 04:01+0200\n"
-"Last-Translator: Adrien Beau <version.francaise@free.fr>\n"
+"Report-Msgid-Bugs-To: Adrien Beau <version.francaise@free.fr>\n"
+"POT-Creation-Date: 2006-04-01 17:09+0200\n"
+"PO-Revision-Date: 2006-04-15 22:53+0200\n"
+"Last-Translator: David Blanchet <david.blanchet@free.fr>\n"
 "Language-Team: Adrien Beau <version.francaise@free.fr>\n"
 "MIME-Version: 1.0\n"
 "Content-Type: text/plain; charset=ISO_8859-15\n"
@@ -106,7 +109,8 @@ msgstr "E82: Aucun tampon ne peut être alloué, Vim doit s'arrêter"
 #      laisse entendre (voir l'aide en ligne). La version française est plus
 #      explicite.
 msgid "E83: Cannot allocate buffer, using other one..."
-msgstr "E83: L'allocation du tampon a échoué: arrêtez Vim, libérez de la mémoire"
+msgstr ""
+"E83: L'allocation du tampon a échoué: arrêtez Vim, libérez de la mémoire"
 
 msgid "E515: No buffers were unloaded"
 msgstr "E515: Aucun tampon n'a été déchargé"
@@ -146,10 +150,8 @@ msgstr "E84: Aucun tampon n'est modifié"
 msgid "E85: There is no listed buffer"
 msgstr "E85: Aucun tampon n'est listé"
 
-# AB - Vu le code source, la version française est meilleure que la
-#      version anglaise.
-#, c-format
-msgid "E86: Cannot go to buffer %ld"
+#, c-format
+msgid "E86: Buffer %ld does not exist"
 msgstr "E86: Le tampon %ld n'existe pas"
 
 # AB - Je ne suis pas sûr que l'on puisse obtenir ce message.
@@ -162,7 +164,8 @@ msgstr "E88: Impossible d'aller avant le
 
 #, c-format
 msgid "E89: No write since last change for buffer %ld (add ! to override)"
-msgstr "E89: Le tampon %ld n'a pas été enregistré (ajoutez ! pour passer outre)"
+msgstr ""
+"E89: Le tampon %ld n'a pas été enregistré (ajoutez ! pour passer outre)"
 
 msgid "E90: Cannot unload last buffer"
 msgstr "E90: Impossible de décharger le dernier tampon"
@@ -197,7 +200,7 @@ msgstr "[Modifié]"
 
 # AB - "[Inédité]" est plus correct, mais sonne faux.
 msgid "[Not edited]"
-msgstr "[Pas édité]"
+msgstr "[Non édité]"
 
 msgid "[New file]"
 msgstr "[Nouveau fichier]"
@@ -219,19 +222,23 @@ msgid "%ld lines --%d%%--"
 msgstr "%ld lignes --%d%%--"
 
 # AB - Faut-il remplacer "sur" par "de" ?
+# DB - Mon avis : oui.
 #, c-format
 msgid "line %ld of %ld --%d%%-- col "
 msgstr "ligne %ld sur %ld --%d%%-- col "
 
-msgid "[No file]"
-msgstr "[Pas de fichier]"
+# DB - Je trouvais [Aucun fichier] (VO : [No file]) plus naturel
+#      lors du lancement de Vim en mode graphique (ce message
+#      apparaît notamment dans le titre de la fenêtre).
+msgid "[No Name]"
+msgstr "[Aucun nom]"
 
 #. must be a help buffer
 msgid "help"
 msgstr "aide"
 
-msgid "[help]"
-msgstr "[aide]"
+msgid "[Help]"
+msgstr "[Aide]"
 
 # AB - "Prévisualisation" prend beaucoup de place. "Prévision" est une
 #      traduction littérale et brève, mais qui risque fort d'être mal comprise.
@@ -250,19 +257,20 @@ msgstr "Bas"
 msgid "Top"
 msgstr "Haut"
 
+#, c-format
 msgid ""
 "\n"
 "# Buffer list:\n"
 msgstr ""
 "\n"
-"# Liste des tampons:\n"
-
-msgid "[Error List]"
-msgstr "[Liste d'erreurs]"
-
-# AB - Ce message est déjà présent quelques lignes plus haut.
-msgid "[No File]"
-msgstr "[Pas de fichier]"
+"# Liste des tampons :\n"
+
+# DB - TODO : Trouver une traduction valable et attestée pour "location".
+msgid "[Location List]"
+msgstr "[Liste des emplacements]"
+
+msgid "[Quickfix List]"
+msgstr "[Liste Quickfix]"
 
 msgid ""
 "\n"
@@ -273,7 +281,7 @@ msgstr ""
 
 #, c-format
 msgid "Signs for %s:"
-msgstr "Symboles dans %s:"
+msgstr "Symboles dans %s :"
 
 #, c-format
 msgid "    line=%ld  id=%d  name=%s"
@@ -333,64 +341,58 @@ msgstr "E105: :loadkeymap ne peut être utilisé que dans un script Vim"
 
 # AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
 #      d'"accrétion".
-msgid " Keyword completion (^N/^P)"
-msgstr " Complétion de mot-clé (^N/^P)"
-
+msgid " Keyword completion (^N^P)"
+msgstr " Complètement de mot-clé (^N^P)"
+
+# DB - todo : Faut-il une majuscule à "mode" ?
 #. ctrl_x_mode == 0, ^P/^N compl.
-msgid " ^X mode (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)"
-msgstr " mode ^X (^E/^Y/^L/^]/^F/^I/^K/^D/^V/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
-#. Scroll has it's own msgs, in it's place there is the msg for local
-#. * ctrl_x_mode = 0 (eg continue_status & CONT_LOCAL)  -- Acevedo
-msgid " Keyword Local completion (^N/^P)"
-msgstr " Complétion locale de mot-clé (^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
-msgid " Whole line completion (^L/^N/^P)"
-msgstr " Complétion de ligne entière (^L/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
-msgid " File name completion (^F/^N/^P)"
-msgstr " Complétion de nom de fichier (^F/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
-msgid " Tag completion (^]/^N/^P)"
-msgstr " Complétion d'étiquette (^]/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
+msgid " ^X mode (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+msgstr " mode ^X (^]^D^E^F^I^K^L^N^O^P^S^U^V^Y)"
+
+msgid " Whole line completion (^L^N^P)"
+msgstr " Complètement de ligne entière (^L^N^P)"
+
+msgid " File name completion (^F^N^P)"
+msgstr " Complètement de nom de fichier (^F^N^P)"
+
+msgid " Tag completion (^]^N^P)"
+msgstr " Complètement de marqueur (^]^N^P)"
+
 # AB - J'ai dû avoir une bonne raison de faire une version française aussi
 #      différente de la version anglaise. Il me faut la retrouver.
-msgid " Path pattern completion (^N/^P)"
-msgstr " Complétion globale de mot-clé (^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
-msgid " Definition completion (^D/^N/^P)"
-msgstr " Complétion de définition (^D/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
+# DB - TODO
+msgid " Path pattern completion (^N^P)"
+msgstr " Complètement global de mot-clé (^N^P)"
+
+msgid " Definition completion (^D^N^P)"
+msgstr " Complètement de définition (^D^N^P)"
+
+# AB - Trouver une meilleure formulation que "selon le".
+# DB : proposition : "avec"
+msgid " Dictionary completion (^K^N^P)"
+msgstr " Complètement avec le dictionnaire (^K^N^P)"
+
 # AB - Trouver une meilleure formulation que "selon le".
-msgid " Dictionary completion (^K/^N/^P)"
-msgstr " Complétion selon le dictionnaire (^K/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
-# AB - Trouver une meilleure formulation que "selon le".
-msgid " Thesaurus completion (^T/^N/^P)"
-msgstr " Complétion selon le thésaurus (^T/^N/^P)"
-
-# AB - Remplacer "complétion" par "complètement" ? Voir l'éthymologie
-#      d'"accrétion".
+msgid " Thesaurus completion (^T^N^P)"
+msgstr " Complètement avec le thésaurus (^T^N^P)"
+
 # AB - La version française est meilleure que la version anglaise.
-msgid " Command-line completion (^V/^N/^P)"
-msgstr " Complétion de commande Vim (^V/^N/^P)"
+# DB : Suggestion.
+msgid " Command-line completion (^V^N^P)"
+msgstr " Complètement de ligne de commande (^V^N^P)"
+
+msgid " User defined completion (^U^N^P)"
+msgstr " Complètement défini par l'utilisateur (^U^N^P)"
+
+# DB : On doit pouvoir trouver nettement mieux que ça.
+msgid " Omni completion (^O^N^P)"
+msgstr " Complètement selon le type de fichier (Omni) (^O^N^P)"
+
+msgid " Spelling suggestion (^S^N^P)"
+msgstr " Suggestion d'orthographe (^S^N^P)"
+
+msgid " Keyword Local completion (^N^P)"
+msgstr " Complètement local de mot-clé (^N/^P)"
 
 # AB - Ce texte s'ajoute à la fin d'un des messages de complétion ci-dessus.
 #      Il faut éviter de le faire trop long. Je pense que la version française
@@ -399,15 +401,15 @@ msgstr " Complétion de commande Vim (^V/^N/^P)"
 msgid "Hit end of paragraph"
 msgstr "Fin du paragraphe"
 
+msgid "'dictionary' option is empty"
+msgstr "L'option 'dictionary' est vide"
+
 msgid "'thesaurus' option is empty"
 msgstr "L'option 'thesaurus' est vide"
 
-msgid "'dictionary' option is empty"
-msgstr "L'option 'dictionary' est vide"
-
 #, c-format
 msgid "Scanning dictionary: %s"
-msgstr "Examen du dictionnaire: %s"
+msgstr "Examen du dictionnaire : %s"
 
 msgid " (insert) Scroll (^E/^Y)"
 msgstr " (insertion) Défilement (^E/^Y)"
@@ -417,10 +419,11 @@ msgstr " (remplacement) Défilement (^E/^Y)"
 
 #, c-format
 msgid "Scanning: %s"
-msgstr "Examen: %s"
-
+msgstr "Examen : %s"
+
+#, c-format
 msgid "Scanning tags."
-msgstr "Examen des étiquettes."
+msgstr "Examen des marqueurs."
 
 # AB - Cette chaîne de caractères est ajoutée en début de ligne lorsqu'une
 #      opération de complétion est répétée (typiquement avec CTRL-X CTRL-N).
@@ -438,8 +441,9 @@ msgstr "-- Recherche en cours..."
 
 # AB - Ce texte s'ajoute à la fin d'un des messages de complétion ci-dessus.
 # AB - Faut-il utiliser "origine" ou "originel" au lieu d'"original" ?
+# DB : Suggestion.
 msgid "Back at original"
-msgstr "De retour à l'original"
+msgstr "Retour au point de départ"
 
 # AB - Ce texte s'ajoute à la fin d'un des messages de complétion ci-dessus.
 msgid "Word from other line"
@@ -451,20 +455,114 @@ msgstr "La seule correspondance"
 
 # AB - Ce texte s'ajoute à la fin d'un des messages de complétion ci-dessus.
 # AB - Faut-il remplacer "sur" par "de" ?
+# DB : Pour moi, non.
 #, c-format
 msgid "match %d of %d"
 msgstr "Correspondance %d sur %d"
 
 # AB - Ce texte s'ajoute à la fin d'un des messages de complétion ci-dessus.
+# DB - todo : la VO n'a pas de majuscule.
 #, c-format
 msgid "match %d"
 msgstr "Correspondance %d"
 
-#. Skip further arguments but do continue to
-#. * search for a trailing command.
-#, c-format
-msgid "E106: Unknown variable: \"%s\""
-msgstr "E106: Variable inconnue: %s"
+msgid "E18: Unexpected characters in :let"
+msgstr "E18: Caractères inattendus avant '='"
+
+#, c-format
+msgid "E684: list index out of range: %ld"
+msgstr "E684: index de Liste hors limites : %ld au-delà de la fin"
+
+#, c-format
+msgid "E121: Undefined variable: %s"
+msgstr "E121: Variable non définie : %s"
+
+msgid "E111: Missing ']'"
+msgstr "E111: ']' manquant"
+
+#, c-format
+msgid "E686: Argument of %s must be a List"
+msgstr "E686: L'argument de %s doit être une Liste"
+
+#, c-format
+msgid "E712: Argument of %s must be a List or Dictionary"
+msgstr "E712: L'argument de %s doit être une Liste ou un Dictionnaire"
+
+msgid "E713: Cannot use empty key for Dictionary"
+msgstr "E713: Impossible d'utiliser une clé vide dans un Dictionnaire"
+
+msgid "E714: List required"
+msgstr "E714: Liste requise"
+
+msgid "E715: Dictionary required"
+msgstr "E715: Dictionnaire requis"
+
+# DB : Suggestion
+#, c-format
+msgid "E118: Too many arguments for function: %s"
+msgstr "E118: La fonction %s a reçu trop d'arguments"
+
+#, c-format
+msgid "E716: Key not present in Dictionary: %s"
+msgstr "E716: La clé %s n'existe pas dans le Dictionnaire"
+
+#, c-format
+msgid "E122: Function %s already exists, add ! to replace it"
+msgstr "E122: La fonction %s existe déjà (ajoutez ! pour la remplacer)"
+
+msgid "E717: Dictionary entry already exists"
+msgstr "E717: Une entrée du Dictionnaire porte déjà ce nom"
+
+msgid "E718: Funcref required"
+msgstr "E718: Référence de fonction (Funcref) requise"
+
+msgid "E719: Cannot use [:] with a Dictionary"
+msgstr "E719: Utilisation de [:] impossible avec un Dictionnaire"
+
+#, c-format
+msgid "E734: Wrong variable type for %s="
+msgstr "E734: Type de variable erroné avec %s="
+
+#, c-format
+msgid "E130: Unknown function: %s"
+msgstr "E130: Fonction inconnue : %s"
+
+#, c-format
+msgid "E461: Illegal variable name: %s"
+msgstr "E461: Nom de variable invalide : %s"
+
+# DB - todo : trouver mieux que "destinations".
+msgid "E687: Less targets than List items"
+msgstr "E687: Moins de destinations que d'éléments dans la Liste"
+
+# DB - todo : trouver mieux que "destinations".
+msgid "E688: More targets than List items"
+msgstr "E688: Plus de destinations que d'éléments dans la Liste"
+
+msgid "Double ; in list of variables"
+msgstr "Double ; dans une liste de variables"
+
+#, c-format
+msgid "E738: Can't list variables for %s"
+msgstr "E738: Impossible de lister les variables de %s"
+
+msgid "E689: Can only index a List or Dictionary"
+msgstr "E689: Seul une Liste ou un Dictionnaire peut être indexé"
+
+msgid "E708: [:] must come last"
+msgstr "E709: [:] ne peut être spécifié qu'en dernier"
+
+msgid "E709: [:] requires a List value"
+msgstr "E709: [:] requiert une Liste"
+
+msgid "E710: List value has more items than target"
+msgstr "E710: La Liste a plus d'éléments que la destination"
+
+msgid "E711: List value has not enough items"
+msgstr "E711: La Liste n'a pas assez d'éléments"
+
+msgid "E690: Missing \"in\" after :for"
+msgstr "E690: \"in\" manquant après :for"
 
 # AB - La version française est meilleure que la version anglaise.
 # AB - Je suis partagé entre la concision d'une traduction assez littérale et
@@ -475,33 +573,49 @@ msgstr "E107: Il manque '(' après %s"
 
 #, c-format
 msgid "E108: No such variable: \"%s\""
-msgstr "E108: Variable inexistante: %s"
+msgstr "E108: Variable inexistante : %s"
+
+msgid "E743: variable nested too deep for (un)lock"
+msgstr "E743: variable trop imbriquée pour la (dé)verrouiller"
 
 # AB - Je suis partagé entre la concision d'une traduction assez littérale et
 #      la lourdeur d'une traduction plus correcte.
 msgid "E109: Missing ':' after '?'"
 msgstr "E109: Il manque ':' après '?'"
 
-# AB - Je suis partagé entre la concision d'une traduction assez littérale et
-#      la lourdeur d'une traduction plus correcte.
+msgid "E691: Can only compare List with List"
+msgstr "E691: Une Liste ne peut être comparée qu'avec une Liste"
+
+msgid "E692: Invalid operation for Lists"
+msgstr "E692: Opération invalide avec les Listes"
+
+msgid "E735: Can only compare Dictionary with Dictionary"
+msgstr "E735: Un Dictionnaire ne peut être comparé qu'avec un Dictionnaire"
+
+msgid "E736: Invalid operation for Dictionary"
+msgstr "E736: Opération invalide avec les Dictionnaires"
+
+# DB - todo : Traduction valable (et courte) pour Funcref ?
+msgid "E693: Can only compare Funcref with Funcref"
+msgstr "E693: Une Funcref ne peut être comparée qu'à une Funcref"
+
+msgid "E694: Invalid operation for Funcrefs"
+msgstr "E694: Opération invalide avec les Funcrefs"
+
 msgid "E110: Missing ')'"
-msgstr "E110: Il manque ')'"
-
-# AB - Je suis partagé entre la concision d'une traduction assez littérale et
-#      la lourdeur d'une traduction plus correcte.
-msgid "E111: Missing ']'"
-msgstr "E111: Il manque ']'"
+msgstr "E110: ')' manquant"
+
+msgid "E695: Cannot index a Funcref"
+msgstr "E695: Impossible d'indexer une Funcref"
 
 # AB - La version française est meilleure que la version anglaise.
-# AB - Je suis partagé entre la concision d'une traduction assez littérale et
-#      la lourdeur d'une traduction plus correcte.
 #, c-format
 msgid "E112: Option name missing: %s"
 msgstr "E112: Il manque un nom d'option après %s"
 
 #, c-format
 msgid "E113: Unknown option: %s"
-msgstr "E113: Option inconnue: %s"
+msgstr "E113: Option inconnue : %s"
 
 # AB - La version française est meilleure que la version anglaise, qui est
 #      erronée, d'ailleurs : il s'agit d'une "double quote" et non d'une
@@ -515,26 +629,38 @@ msgstr "E114: Il manque \" à la fin de %s"
 msgid "E115: Missing quote: %s"
 msgstr "E115: Il manque ' à la fin de %s"
 
-# AB - La version française est meilleure que la version anglaise.
-#, c-format
-msgid "E116: Invalid arguments for function %s"
-msgstr "E116: Un argument de la fonction %s est invalide"
-
-#, c-format
-msgid "E117: Unknown function: %s"
-msgstr "E117: Fonction inconnue: %s"
-
-#, c-format
-msgid "E118: Too many arguments for function: %s"
-msgstr "E118: La fonction %s a trop d'arguments"
-
-#, c-format
-msgid "E119: Not enough arguments for function: %s"
-msgstr "E119: La fonction %s n'a pas assez d'arguments"
-
-#, c-format
-msgid "E120: Using <SID> not in a script context: %s"
-msgstr "E120: <SID> ne peut être utilisé en dehors d'un script: %s"
+#, c-format
+msgid "E696: Missing comma in List: %s"
+msgstr "E696: Il manque une virgule dans la Liste %s"
+
+#, c-format
+msgid "E697: Missing end of List ']': %s"
+msgstr "E697: Il manque ']' à la fin de la Liste %s"
+
+#, c-format
+msgid "E720: Missing colon in Dictionary: %s"
+msgstr "E720: Il manque ':' dans le Dictionnaire %s"
+
+#, c-format
+msgid "E721: Duplicate key in Dictionary: \"%s\""
+msgstr "E721: Clé \"%s\" dupliquée dans le Dictionnaire"
+
+#, c-format
+msgid "E722: Missing comma in Dictionary: %s"
+msgstr "E722: Il manque une virgule dans le Dictionnaire %s"
+
+#, c-format
+msgid "E723: Missing end of Dictionary '}': %s"
+msgstr "E723: Il manque '}' à la fin du Dictionnaire %s"
+
+msgid "E724: variable nested too deep for displaying"
+msgstr "E724: variable trop imbriquée pour être afficher"
+
+msgid "E699: Too many arguments"
+msgstr "E699: Trop d'arguments"
+
+msgid "E785: complete() can only be used in Insert mode"
+msgstr "E785: complete() n'est utilisable que dans le mode Insertion"
 
 # AB - Texte par défaut du bouton de la boîte de dialogue affichée par la
 #      fonction confirm().
@@ -547,8 +673,16 @@ msgid "&Ok"
 msgstr "&Ok"
 
 #, c-format
+msgid "E737: Key already exists: %s"
+msgstr "E737: un mappage existe déjà pour %s"
+
+#, c-format
 msgid "+-%s%3ld lines: "
-msgstr "+-%s%3ld lignes: "
+msgstr "+-%s%3ld lignes : "
+
+#, c-format
+msgid "E700: Unknown function: %s"
+msgstr "E700: Fonction inconnue : %s"
 
 # AB - Textes des boutons de la boîte de dialogue affichée par inputdialog().
 msgid ""
@@ -562,41 +696,94 @@ msgstr ""
 msgid "called inputrestore() more often than inputsave()"
 msgstr "inputrestore() a été appelé plus de fois qu'inputsave()"
 
+msgid "E745: Range not allowed"
+msgstr "E745: Les plages ne sont pas autorisés"
+
+msgid "E701: Invalid type for len()"
+msgstr "E701: Type invalide avec len()"
+
+msgid "E726: Stride is zero"
+msgstr "E726: Le pas est nul"
+
+msgid "E727: Start past end"
+msgstr "E727: Début au-delà de la fin"
+
+msgid "<empty>"
+msgstr "<vide>"
+
 # AB - À mon avis, la version anglaise est erronée.
+# DB : Vérifier
 msgid "E240: No connection to Vim server"
-msgstr "E240: Pas de connection au serveur X"
-
-msgid "E277: Unable to read a server reply"
-msgstr "E277: La réponse du serveur n'a pu être lue"
-
-# AB - La version française est meilleure que la version anglaise.
-msgid "E258: Unable to send to client"
-msgstr "E258: La réponse n'a pu être envoyée au client"
+msgstr "E240: Pas de connexion au serveur X"
 
 # AB - La version française est meilleure que la version anglaise.
 #, c-format
 msgid "E241: Unable to send to %s"
 msgstr "E241: L'envoi au serveur %s à échoué"
 
+msgid "E277: Unable to read a server reply"
+msgstr "E277: Impossible de lire la réponse du serveur"
+
+msgid "E655: Too many symbolic links (cycle?)"
+msgstr "E655: Trop de liens symboliques (cycle ?)"
+
+# AB - La version française est meilleure que la version anglaise.
+msgid "E258: Unable to send to client"
+msgstr "E258: La réponse n'a pas pu être envoyée au client"
+
+msgid "E702: Sort compare function failed"
+msgstr "E702: La fonction de comparaison de sort() a échoué"
+
 msgid "(Invalid)"
 msgstr "(Invalide)"
 
-#, c-format
-msgid "E121: Undefined variable: %s"
-msgstr "E121: Variable indéfinie: %s"
-
-# AB - "illégal" est un terme trop fort à mon goût.
-#, c-format
-msgid "E461: Illegal variable name: %s"
-msgstr "E461: Nom de variable illégal: %s"
-
-#, c-format
-msgid "E122: Function %s already exists, add ! to replace it"
-msgstr "E122: La fonction %s existe déjà (ajoutez ! pour la remplacer)"
-
-#, c-format
-msgid "E123: Undefined function: %s"
-msgstr "E123: Fonction indéfinie: %s"
+msgid "E677: Error writing temp file"
+msgstr "E677: Erreur lors de l'écriture du fichier temporaire"
+
+msgid "E703: Using a Funcref as a number"
+msgstr "E703: Utilisation d'une Funcref comme un Nombre"
+
+msgid "E745: Using a List as a number"
+msgstr "E745: Utilisation d'une Liste comme un Nombre"
+
+msgid "E728: Using a Dictionary as a number"
+msgstr "E728: Utilisation d'un Dictionnaire comme un Nombre"
+
+msgid "E729: using Funcref as a String"
+msgstr "E729: Utilisation d'une Funcref comme une Chaîne"
+
+msgid "E730: using List as a String"
+msgstr "E730: Utilisation d'une Liste comme une Chaîne"
+
+msgid "E731: using Dictionary as a String"
+msgstr "E731: Utilisation d'un Dictionnaire comme une Chaîne"
+
+#, c-format
+msgid "E704: Funcref variable name must start with a capital: %s"
+msgstr "E704: Le nom d'une Funcref doit commencer par une majuscule : %s"
+
+#, c-format
+msgid "E705: Variable name conflicts with existing function: %s"
+msgstr "E705: Le nom d'une variable entre en conflit avec la fonction %s"
+
+# DB : On doit pouvoir trouver nettement mieux que ça.
+#, c-format
+msgid "E706: Variable type mismatch for: %s"
+msgstr "E706: Type de variable incohérent pour %s"
+
+#, c-format
+msgid "E741: Value is locked: %s"
+msgstr "E741: La valeur de %s est verrouillée"
+
+msgid "Unknown"
+msgstr "Inconnu"
+
+#, c-format
+msgid "E742: Cannot change value of %s"
+msgstr "E742: Impossible de modifier la valeur de %s"
+
+msgid "E698: variable nested too deep for making a copy"
+msgstr "E698: variable trop imbriquée pour en faire une copie"
 
 # AB - La version française est plus consistante que la version anglaise.
 # AB - Je suis partagé entre la concision d'une traduction assez littérale et
@@ -605,33 +792,24 @@ msgstr "E123: Fonction indéfinie: %s"
 msgid "E124: Missing '(': %s"
 msgstr "E124: Il manque '(' après %s"
 
-# AB - "illégal" est un terme trop fort à mon goût.
 #, c-format
 msgid "E125: Illegal argument: %s"
-msgstr "E125: Argument illégal: %s"
+msgstr "E125: Argument invalide : %s"
 
 msgid "E126: Missing :endfunction"
 msgstr "E126: Il manque :endfunction"
 
-# AB - Il est difficile de créer une version française qui fasse moins de 80
-#      caractères de long, nom de la fonction compris : "It is in use" est une
-#      expression très dense. Traductions possibles : "elle est utilisée",
-#      "elle s'exécute" ou "elle est occupée".
-#, c-format
-msgid "E127: Cannot redefine function %s: It is in use"
-msgstr "E127: Impossible de redéfinir %s: cette fonction est occupée"
+# DB - Le contenu du "c-format" est le nom de la fonction.
+#, c-format
+msgid "E746: Function name does not match script file name: %s"
+msgstr "E746: Le nom de la fonction %s ne correspond pas le nom du script"
 
 msgid "E129: Function name required"
 msgstr "E129: Nom de fonction requis"
 
-# AB - Il faut respecter l'esprit plus que la lettre.
-#, c-format
-msgid "E128: Function name must start with a capital: %s"
-msgstr "E128: %s ne commence pas par une majuscule"
-
-#, c-format
-msgid "E130: Undefined function: %s"
-msgstr "E130: Fonction indéfinie: %s"
+#, c-format
+msgid "E128: Function name must start with a capital or contain a colon: %s"
+msgstr "E128: La fonction %s ne commence pas par une majuscule ou contient ':'"
 
 # AB - Il est difficile de créer une version française qui fasse moins de 80
 #      caractères de long, nom de la fonction compris : "It is in use" est une
@@ -639,15 +817,15 @@ msgstr "E130: Fonction indéfinie: %s"
 #      "elle s'exécute" ou "elle est occupée".
 #, c-format
 msgid "E131: Cannot delete function %s: It is in use"
-msgstr "E131: Impossible d'effacer %s: cette fonction est occupée"
+msgstr "E131: Impossible d'effacer %s : cette fonction est utilisée"
 
 # AB - Vérifier dans la littérature technique s'il n'existe pas une meilleure
 #      traduction pour "function call depth".
 msgid "E132: Function call depth is higher than 'maxfuncdepth'"
-msgstr "E132: La profondeur d'appel de fonction est supérieure à 'maxfuncdepth'"
+msgstr ""
+"E132: La profondeur d'appel de fonction est supérieure à 'maxfuncdepth'"
 
 # AB - Ce texte fait partie d'un message de débogage.
-#. always scroll up, don't overwrite
 #, c-format
 msgid "calling %s"
 msgstr "appel de %s"
@@ -664,20 +842,20 @@ msgstr "%s a retourné #%ld"
 
 # AB - Ce texte fait partie d'un message de débogage.
 #, c-format
-msgid "%s returning \"%s\""
+msgid "%s returning %s"
 msgstr "%s a retourné \"%s\""
 
 # AB - Ce texte fait partie d'un message de débogage.
-#. always scroll up, don't overwrite
 #, c-format
 msgid "continuing in %s"
 msgstr "de retour dans %s"
 
 msgid "E133: :return not inside a function"
-msgstr "E133: :return n'est pas à l'intérieur d'une fonction"
+msgstr "E133: :return en dehors d'une fonction"
 
 # AB - La version française est capitalisée pour être en accord avec les autres
 #      commentaires enregistrés dans le fichier viminfo.
+#, c-format
 msgid ""
 "\n"
 "# global variables:\n"
@@ -685,9 +863,169 @@ msgstr ""
 "\n"
 "# Variables globales:\n"
 
+# DB - Plus précis ("la dernière fois") ? 
+msgid ""
+"\n"
+"\tLast set from "
+msgstr ""
+"\n"
+"\tModifié la dernière fois dans "
+
+# AB - La version française de la première phrase ne me satisfait pas.
+# DB - Suggestion.
+msgid "Entering Debug mode.  Type \"cont\" to continue."
+msgstr "Mode débogage activé. Tapez \"cont\" pour continuer."
+
+#, c-format
+msgid "line %ld: %s"
+msgstr "ligne %ld : %s"
+
+#, c-format
+msgid "cmd: %s"
+msgstr "cmde : %s"
+
+#, c-format
+msgid "Breakpoint in \"%s%s\" line %ld"
+msgstr "Point d'arrêt dans %s%s ligne %ld"
+
+#, c-format
+msgid "E161: Breakpoint not found: %s"
+msgstr "E161: Le point d'arrêt %s est introuvable"
+
+msgid "No breakpoints defined"
+msgstr "Aucun point d'arrêt n'est défini"
+
+# AB - Le deuxième %s est remplacé par "func" ou "file" sans que l'on puisse
+#      traduire ces mots.
+#, c-format
+msgid "%3d  %s %s  line %ld"
+msgstr "%3d  %s %s  ligne %ld"
+
+msgid "E750: First use :profile start <fname>"
+msgstr "E750: Utilisez d'abord :profile start <nomfichier>"
+
+# AB - Ceci est un titre de boîte de dialogue. Vérifier que la version
+#      française est correcte pour les trois références ; j'ai un doute quant
+#      à la troisième.
+msgid "Save As"
+msgstr "Enregistrer sous - Vim"
+
+# AB - "changes to" est redondant et a été omis de la version française.
+#, c-format
+msgid "Save changes to \"%s\"?"
+msgstr "Enregistrer \"%s\" ?"
+
+# AB - Si les parenthèses posent problème, il faudra remettre les guillements
+#      ci-dessus.
+msgid "Untitled"
+msgstr "(sans titre)"
+
+# AB - Il faut respecter l'esprit plus que la lettre.
+# AB - Ce message est similaire au message E89.
+#, c-format
+msgid "E162: No write since last change for buffer \"%s\""
+msgstr "E162: Le tampon %s n'a pas été enregistré"
+
+msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
+msgstr "Alerte: Entrée inattendue dans un autre tampon (vérifier autocmdes)"
+
+msgid "E163: There is only one file to edit"
+msgstr "E163: Il n'y a qu'un seul fichier à éditer"
+
+msgid "E164: Cannot go before first file"
+msgstr "E164: Impossible d'aller avant le premier fichier"
+
+msgid "E165: Cannot go beyond last file"
+msgstr "E165: Impossible d'aller au-delà du dernier fichier"
+
+#, c-format
+msgid "E666: compiler not supported: %s"
+msgstr "E432: Compilateur %s non supporté"
+
+#, c-format
+msgid "Searching for \"%s\" in \"%s\""
+msgstr "Recherche de \"%s\" dans \"%s\""
+
+#, c-format
+msgid "Searching for \"%s\""
+msgstr "Recherche de \"%s\""
+
+#, c-format
+msgid "not found in 'runtimepath': \"%s\""
+msgstr "introuvable dans 'runtimepath' : \"%s\""
+
+msgid "Source Vim script"
+msgstr "Sourcer un script - Vim"
+
+#, c-format
+msgid "Cannot source a directory: \"%s\""
+msgstr "Impossible de sourcer un répertoire : \"%s\""
+
+#, c-format
+msgid "could not source \"%s\""
+msgstr "impossible de sourcer \"%s\""
+
+#, c-format
+msgid "line %ld: could not source \"%s\""
+msgstr "ligne %ld : impossible de sourcer \"%s\""
+
+#, c-format
+msgid "sourcing \"%s\""
+msgstr "sourcement \"%s\""
+
+#, c-format
+msgid "line %ld: sourcing \"%s\""
+msgstr "ligne %ld : sourcement de \"%s\""
+
+#, c-format
+msgid "finished sourcing %s"
+msgstr "fin du sourcement de %s"
+
+msgid "modeline"
+msgstr "ligne de mode"
+
+msgid "--cmd argument"
+msgstr "argument --cmd"
+
+msgid "-c argument"
+msgstr "argument -c"
+
+msgid "environment variable"
+msgstr "variable d'environnement"
+
+msgid "error handler"
+msgstr "gestionnaire d'erreur"
+
+msgid "W15: Warning: Wrong line separator, ^M may be missing"
+msgstr "W15: Alerte: Séparateur de ligne erroné, ^M possiblement manquant"
+
+msgid "E167: :scriptencoding used outside of a sourced file"
+msgstr "E167: :scriptencoding utilisé en dehors d'un fichier sourcé"
+
+msgid "E168: :finish used outside of a sourced file"
+msgstr "E168: :finish utilisé en dehors d'un fichier sourcé"
+
+# DB - Le premier %s est, au choix : "time ", "ctype " ou "messages ",
+#      sans qu'il soit possible de les traduire.
+#, c-format
+msgid "Current %slanguage: \"%s\""
+msgstr "Langue courante pour %s: \"%s\""
+
+#, c-format
+msgid "E197: Cannot set language to \"%s\""
+msgstr "E197: Impossible de choisir la langue \"%s\""
+
 #, c-format
 msgid "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
-msgstr "<%s>%s%s  %d,  Hex %02x,  Octal %03o"
+msgstr "<%s>%s%s  %d,  Hexa %02x,  Octal %03o"
+
+#, c-format
+msgid "> %d, Hex %04x, Octal %o"
+msgstr "> %d, Hexa %04x, Octal %o"
+
+#, c-format
+msgid "> %d, Hex %08x, Octal %o"
+msgstr "> %d, Hexa %08x, Octal %o"
 
 # AB - La version anglaise est très mauvaise, ce qui m'oblige a inventer une
 #      version française.
@@ -724,27 +1062,32 @@ msgstr "[Attention: tout n'est pas enregistré]\n"
 #      l'appelant de la fonction viminfo_error().
 #, c-format
 msgid "%sviminfo: %s in line: "
-msgstr "%sviminfo: %s à la ligne "
+msgstr "%sviminfo : %s à la ligne "
 
 # AB - La version française est meilleure que la version anglaise.
 msgid "E136: viminfo: Too many errors, skipping rest of file"
 msgstr ""
-"E136: Il y a trop d'erreurs; interruption de la lecture du fichier viminfo"
+"E136: Il y a trop d'erreurs ; interruption de la lecture du fichier viminfo"
 
 # AB - Ce texte fait partie d'un message de débogage.
+# DB - ... dont les valeurs possibles sont les messages
+#      qui suivent.
 #, c-format
 msgid "Reading viminfo file \"%s\"%s%s%s"
 msgstr "Lecture du fichier viminfo \"%s\"%s%s%s"
 
 # AB - Ce texte fait partie d'un message de débogage.
+# DB - Voir ci-dessus.
 msgid " info"
 msgstr " info"
 
 # AB - Ce texte fait partie d'un message de débogage.
+# DB - Voir ci-dessus.
 msgid " marks"
 msgstr " marques"
 
 # AB - Ce texte fait partie d'un message de débogage.
+# DB - Voir ci-dessus.
 msgid " FAILED"
 msgstr " ÉCHEC"
 
@@ -774,6 +1117,7 @@ msgid "# This viminfo file was generated
 msgstr "# Ce fichier viminfo a été généré par Vim %s.\n"
 
 # AB - Les deux versions, bien que différentes, se valent.
+#, c-format
 msgid ""
 "# You may edit it if you're careful!\n"
 "\n"
@@ -781,25 +1125,14 @@ msgstr ""
 "# Vous pouvez l'éditer, mais soyez prudent.\n"
 "\n"
 
-# AB - Je préfère "Valeur de 'encoding'" à "Valeur d''encoding'".
+#, c-format
 msgid "# Value of 'encoding' when this file was written\n"
 msgstr "# 'encoding' dans lequel ce fichier a été écrit\n"
 
 # AB - Ce texte est passé en argument à la fonction viminfo_error().
 # AB - "illégal" est un terme trop fort à mon goût.
 msgid "Illegal starting char"
-msgstr "Caractère initial illégal"
-
-# AB - Ceci est un titre de boîte de dialogue. Vérifier que la version
-#      française est correcte pour les trois références ; j'ai un doute quant
-#      à la troisième.
-msgid "Save As"
-msgstr "Enregistrer sous - Vim"
-
-#. Overwriting a file that is loaded in another buffer is not a
-#. * good idea.
-msgid "E139: File is loaded in another buffer"
-msgstr "E139: Le fichier est chargé dans un autre tampon"
+msgstr "Caractère initial non valide"
 
 # AB - Ceci est un contenu de boîte de dialogue (éventuellement en mode texte).
 # AB - La version française est meilleure que la version anglaise.
@@ -811,10 +1144,18 @@ msgid "E140: Use ! to write partial buff
 msgstr ""
 "E140: Une partie du fichier serait perdue (ajoutez ! pour passer outre)"
 
-# AB - Ceci est un contenu de boîte de dialogue (éventuellement en mode texte).
-#, c-format
-msgid "Overwrite existing file \"%.*s\"?"
-msgstr "Écraser le fichier %.*s existant ?"
+#, c-format
+msgid "Overwrite existing file \"%s\"?"
+msgstr "Écraser le fichier %s existant ?"
+
+#, c-format
+msgid "Swap file \"%s\" exists, overwrite anyway?"
+msgstr "Le fichier d'échange \"%s\" existe déjà, l'écraser ?"
+
+# DB - Un peu long à mon avis.
+#, c-format
+msgid "E768: Swap file exists: %s (:silent! overrides)"
+msgstr "E768: Le fichier d'échange %s existe déjà (:silent! pour passer outre)"
 
 #, c-format
 msgid "E141: No file name for buffer %ld"
@@ -822,17 +1163,18 @@ msgstr "E141: Pas de nom de fichier pour
 
 # AB - Il faut respecter l'esprit plus que la lettre.
 msgid "E142: File not written: Writing is disabled by 'write' option"
-msgstr "E142: L'option 'nowrite' est activée et empêche toute écriture de fichier"
+msgstr ""
+"E142: L'option 'nowrite' est activée et empêche toute écriture du fichier"
 
 # AB - Ceci est un contenu de boîte de dialogue (éventuellement en mode texte).
 # AB - "activée pour" n'est pas une formulation très heureuse.
 #, c-format
 msgid ""
-"'readonly' option is set for \"%.*s\".\n"
+"'readonly' option is set for \"%s\".\n"
 "Do you wish to write anyway?"
 msgstr ""
-"L'option 'readonly' est activée pour %.*s.\n"
-"Voulez-vous quand même enregistrer ?"
+"L'option 'readonly' est activée pour \"%s\".\n"
+"Voulez-vous tout de même enregistrer ?"
 
 # AB - Ceci est un titre de boîte de dialogue.
 msgid "Edit File"
@@ -842,9 +1184,10 @@ msgstr "Ouvrir un fichier - Vim"
 # AB - J'hésite à ajouter "à sa création" après le nom du tampon. Ce message
 #      devrait n'être affiché qu'après une tentative d'ouverture de fichier,
 #      la version actuelle devrait donc suffire.
+# DB - Suggestion : "nouveau tampon" ?
 #, c-format
 msgid "E143: Autocommands unexpectedly deleted new buffer %s"
-msgstr "E143: Une autocommande a effacé le tampon %s"
+msgstr "E143: Une autocommande a effacé le nouveau tampon %s"
 
 msgid "E144: non-numeric argument to :z"
 msgstr "E144: L'argument de :z n'est pas numérique"
@@ -853,10 +1196,11 @@ msgstr "E144: L'argument de :z n'est pas numérique"
 #      La consultation de l'aide donnera l'explication complète à ceux qui
 #      ne comprendraient pas à quoi ce message est dû.
 msgid "E145: Shell commands not allowed in rvim"
-msgstr "E145: Les commandes externes sont indisponibles"
+msgstr "E145: Les commandes externes sont indisponibles dans rvim"
 
 msgid "E146: Regular expressions can't be delimited by letters"
-msgstr "E146: Les expressions régulières ne peuvent être délimitées par des lettres"
+msgstr ""
+"E146: Les expressions régulières ne peuvent pas être délimitées par des lettres"
 
 #, c-format
 msgid "replace with %s (y/n/a/q/l/^E/^Y)?"
@@ -865,10 +1209,17 @@ msgstr "remplacer par %s (y/n/a/q/l/^E/^
 msgid "(Interrupted) "
 msgstr "(Interrompu) "
 
+msgid "1 match"
+msgstr "1 correspondance"
+
 msgid "1 substitution"
 msgstr "1 substitution"
 
 #, c-format
+msgid "%ld matches"
+msgstr "%ld correspondances"
+
+#, c-format
 msgid "%ld substitutions"
 msgstr "%ld substitutions"
 
@@ -882,7 +1233,7 @@ msgstr " sur %ld lignes"
 # AB - Il faut respecter l'esprit plus que la lettre.
 # AB - Ce message devrait contenir une référence à :vglobal.
 msgid "E147: Cannot do :global recursive"
-msgstr "E147: :global ne peut exécuter :global"
+msgstr "E147: :global ne peut pas exécuter :global"
 
 # AB - Ce message devrait contenir une référence à :vglobal.
 msgid "E148: Regular expression missing from global"
@@ -893,29 +1244,40 @@ msgstr "E148: :global doit être suivi par une expression régulière"
 #      qui est utilisé.
 #, c-format
 msgid "Pattern found in every line: %s"
-msgstr "Motif trouvé à chaque ligne: %s"
+msgstr "Motif trouvé dans toutes les ligne : %s"
 
 # AB - Ne pas traduire le dollar.
 # AB - Ce message n'est volontairement pas traduit. En effet, il fait partie
 #      d'un groupe de trois messages dans viminfo, dont deux ne sont pas soumis
 #      à internationalisation. J'attends que les deux autres messages soient
 #      traduisibles pour traduire celui-ci.
+# DB - TODO : Qu'en est-il à présent ?
+#, c-format
 msgid ""
 "\n"
 "# Last Substitute String:\n"
 "$"
 msgstr ""
 "\n"
-"# Last Substitute String:\n"
+"# Dernières chaînes de substitution :\n"
 "$"
 
+# This message should *so* be E42!
+msgid "E478: Don't panic!"
+msgstr "E478: Pas de panique !"
+
+# DB - c-format : langue de l'aide puis sujet de l'aide.
+#, c-format
+msgid "E661: Sorry, no '%s' help for %s"
+msgstr "E661: Désolé, aucune aide en langue '%s' pour %s"
+
 #, c-format
 msgid "E149: Sorry, no help for %s"
-msgstr "E149: Désolé, pas d'aide pour %s"
+msgstr "E149: Désolé, aucune aide pour %s"
 
 #, c-format
 msgid "Sorry, help file \"%s\" not found"
-msgstr "Désolé, le fichier d'aide %s est introuvable"
+msgstr "Désolé, le fichier d'aide \"%s\" est introuvable"
 
 #, c-format
 msgid "E150: Not a directory: %s"
@@ -931,18 +1293,23 @@ msgstr "E152: Impossible d'écrire %s"
 msgid "E153: Unable to open %s for reading"
 msgstr "E153: Impossible de lire %s"
 
+#, c-format
+msgid "E670: Mix of help file encodings within a language: %s"
+msgstr "E670: Encodages différents dans les fichiers d'aide en langue %s"
+
 # AB - L'étiquette la plus longue fait 27 caractères. Le nom de fichier le plus
 #      long fait 12 caractères. Il faudrait donc idéalement faire une
 #      traduction de 40 caractères ou moins. Ce qui est loin d'être le cas
 #      présent.
-#, c-format
-msgid "E154: Duplicate tag \"%s\" in file %s"
-msgstr "E154: L'étiquette \"%s\" apparaît deux fois dans le fichier %s"
+# DB - Suggestion.
+#, c-format
+msgid "E154: Duplicate tag \"%s\" in file %s/%s"
+msgstr "E154: Marqueur \"%s\" dupliqué fichier %s/%s"
 
 # AB - Il faut respecter l'esprit plus que la lettre.
 #, c-format
 msgid "E160: Unknown sign command: %s"
-msgstr "E160: Commande inconnue: :sign %s"
+msgstr "E160: Commande inconnue : :sign %s"
 
 # AB - La version française est meilleure que la version anglaise.
 msgid "E156: Missing sign name"
@@ -952,13 +1319,14 @@ msgid "E612: Too many signs defined"
 msgstr "E612: Trop de symboles sont définis"
 
 # AB - Cette traduction ne me satisfait pas.
+# DB - Suggestion.
 #, c-format
 msgid "E239: Invalid sign text: %s"
-msgstr "E239: La version texte du symbole est invalide: %s"
+msgstr "E239: Le texte du symbole est invalide : %s"
 
 #, c-format
 msgid "E155: Unknown sign: %s"
-msgstr "E155: Symbole inconnu: %s"
+msgstr "E155: Symbole inconnu : %s"
 
 # AB - La version française est meilleure que la version anglaise.
 msgid "E159: Missing sign number"
@@ -976,215 +1344,28 @@ msgstr "E158: Le tampon %s est introuvab
 msgid "E157: Invalid sign ID: %ld"
 msgstr "E157: Le symbole %ld est introuvable"
 
+msgid " (NOT FOUND)"
+msgstr "  (INTROUVABLE)"
+
+msgid " (not supported)"
+msgstr " (non supporté)"
+
 msgid "[Deleted]"
 msgstr "[Effacé]"
 
-# AB - La version française de la première phrase ne me satisfait pas.
-msgid "Entering Debug mode.  Type \"cont\" to continue."
-msgstr "Début du déboguage. Tapez \"cont\" pour continuer."
-
-#, c-format
-msgid "line %ld: %s"
-msgstr "ligne %ld: %s"
-
-#, c-format
-msgid "cmd: %s"
-msgstr "cmde: %s"
-
-#, c-format
-msgid "Breakpoint in \"%s%s\" line %ld"
-msgstr "Point d'interruption dans %s%s ligne %ld"
-
-#, c-format
-msgid "E161: Breakpoint not found: %s"
-msgstr "E161: Le point d'interruption %s est introuvable"
-
-msgid "No breakpoints defined"
-msgstr "Aucun point d'interruption n'est défini"
-
-# AB - Le deuxième %s est remplacé par "func" ou "file" sans que l'on puisse
-#      traduire ces mots.
-#, c-format
-msgid "%3d  %s %s  line %ld"
-msgstr "%3d  %s %s  ligne %ld"
-
-# AB - "changes to" est redondant et a été omis de la version française.
-#, c-format
-msgid "Save changes to \"%.*s\"?"
-msgstr "Enregistrer %.*s ?"
-
-# AB - Si les parenthèses posent problème, il faudra remettre les guillements
-#      ci-dessus.
-msgid "Untitled"
-msgstr "(sans titre)"
-
-# AB - Il faut respecter l'esprit plus que la lettre.
-# AB - Ce message est similaire au message E89.
-#, c-format
-msgid "E162: No write since last change for buffer \"%s\""
-msgstr "E162: Le tampon %s n'a pas été enregistré"
-
-# ## HERE ###
-msgid "Warning: Entered other buffer unexpectedly (check autocommands)"
-msgstr "Alerte: Entrée inattendue dans un autre tampon (vérifier autocmdes)"
-
-msgid "E163: There is only one file to edit"
-msgstr "E163: Il n'y a qu'un seul fichier à éditer"
-
-msgid "E164: Cannot go before first file"
-msgstr "E164: Ne peut aller avant le premier fichier"
-
-msgid "E165: Cannot go beyond last file"
-msgstr "E165: Ne peut aller au delà du dernier fichier"
-
-#, c-format
-msgid "Searching for \"%s\" in \"%s\""
-msgstr "Recherche de \"%s\" dans \"%s\""
-
-#, c-format
-msgid "Searching for \"%s\""
-msgstr "Recherche de \"%s\""
-
-#, c-format
-msgid "not found in 'runtimepath': \"%s\""
-msgstr "introuvable dans 'runtimepath': \"%s\""
-
-msgid "Source Vim script"
-msgstr "Sourcer un script - Vim"
-
-#, c-format
-msgid "Cannot source a directory: \"%s\""
-msgstr "Ne peut sourcer un répertoire: \"%s\""
-
-#, c-format
-msgid "could not source \"%s\""
-msgstr "pas pu sourcer \"%s\""
-
-#, c-format
-msgid "line %ld: could not source \"%s\""
-msgstr "ligne %ld: pas pu sourcer \"%s\""
-
-#, c-format
-msgid "sourcing \"%s\""
-msgstr "sourçage \"%s\""
-
-# TODO
-#, c-format
-msgid "line %ld: sourcing \"%s\""
-msgstr "ligne %ld: sourçage de \"%s\""
-
-# todo
-#, c-format
-msgid "finished sourcing %s"
-msgstr "fin du sourçage de %s"
-
-msgid "W15: Warning: Wrong line separator, ^M may be missing"
-msgstr "W15: Warning: Mauvais séparateur de ligne, ^M manque peut-être"
-
-msgid "E167: :scriptencoding used outside of a sourced file"
-msgstr "E167: :scriptencoding utilisé en dehors d'un fichier sourcé"
-
-# todo
-msgid "E168: :finish used outside of a sourced file"
-msgstr "E168: :finish utilisé en dehors d'un fichier sourcé"
-
-#, c-format
-msgid "Page %d"
-msgstr "Page %d"
-
-msgid "No text to be printed"
-msgstr "Pas de texte à imprimer"
-
-#, c-format
-msgid "Printing page %d (%d%%)"
-msgstr "Impression de la page %d (%d%%)"
-
-#, c-format
-msgid " Copy %d of %d"
-msgstr " Copie %d de %d"
-
-#, c-format
-msgid "Printed: %s"
-msgstr "Imprimé: %s"
-
-msgid "Printing aborted"
-msgstr "Impression interrompue"
-
-msgid "E455: Error writing to PostScript output file"
-msgstr "E455: Erreur lors de l'écriture du fichier PostScript de sortie"
-
-#, c-format
-msgid "E624: Can't open file \"%s\""
-msgstr "E624: Peut pas ouvrir le fichier \"%s\""
-
-#, c-format
-msgid "E457: Can't read PostScript resource file \"%s\""
-msgstr "E457: Peut pas lire le fichier de ressource PostScript \"%s\""
-
-#, c-format
-msgid "E618: file \"%s\" is not a PostScript resource file"
-msgstr "E618: \"%s\" n'est pas un fichier de ressource PostScript"
-
-#, c-format
-msgid "E619: file \"%s\" is not a supported PostScript resource file"
-msgstr "E619: \"%s\" n'est pas un fichier de ressource PostScript supporté"
-
-#, c-format
-msgid "E621: \"%s\" resource file has wrong version"
-msgstr "E621: La version du fichier de ressource \"%s\" est mauvaise"
-
-msgid "E324: Can't open PostScript output file"
-msgstr "E324: Peut pas ouvrir le fichier PostScript de sortie"
-
-#, c-format
-msgid "E456: Can't open file \"%s\""
-msgstr "E456: Peut pas ouvrir le fichier \"%s\""
-
-msgid "E456: Can't find PostScript resource file \"prolog.ps\""
-msgstr "E456: Le fichier de ressource PostScript \"prolog.ps\" est introuvable"
-
-#, c-format
-msgid "E456: Can't find PostScript resource file \"%s.ps\""
-msgstr "E456: Le fichier de ressource PostScript \"%s.ps\" est introuvable"
-
-# TODO
-#, c-format
-msgid "E620: Unable to convert from multi-byte to \"%s\" encoding"
-msgstr "E620: La conversion du multi-octet à l'encodage \"%s\" a échoué"
-
-msgid "Sending to printer..."
-msgstr "Envoi à l'imprimante..."
-
-msgid "E365: Failed to print PostScript file"
-msgstr "E365: L'impression du fichier PostScript a échoué"
-
-msgid "Print job sent."
-msgstr "Job d'impression envoyé."
-
-#, c-format
-msgid "Current %slanguage: \"%s\""
-msgstr "Langage %scourant: \"%s\""
-
-#, c-format
-msgid "E197: Cannot set language to \"%s\""
-msgstr "E197: Pas pu régler le langage sur \"%s\""
-
 msgid "Entering Ex mode.  Type \"visual\" to go to Normal mode."
-msgstr "Démarrage du mode Ex.  Tapez \"visual\" pour aller en mode Normal."
-
-#. must be at EOF
+msgstr "Mode Ex activé. Tapez \"visual\" pour passer en mode Normal."
+
 msgid "E501: At end-of-file"
 msgstr "E501: À la fin du fichier"
 
 msgid "E169: Command too recursive"
 msgstr "E169: Commande trop récursive"
 
-# TODO
 #, c-format
 msgid "E605: Exception not caught: %s"
-msgstr "E605: Exception pas attrapée: %s"
-
-# todo
+msgstr "E605: Exception non interceptée : %s"
+
 msgid "End of sourced file"
 msgstr "Fin du fichier sourcé"
 
@@ -1194,19 +1375,15 @@ msgstr "Fin de la fonction"
 msgid "E464: Ambiguous use of user-defined command"
 msgstr "E464: Utilisation ambigüe d'une commande définie par l'utilisateur"
 
+# DB - Espace final car Vim peut ajouter ": <informations>" à la suite
 msgid "E492: Not an editor command"
-msgstr "E492: Pas une commande de l'éditeur"
-
-# TODO This message should *so* be E42!
-msgid "E478: Don't panic!"
-msgstr "E478: Ne paniquez pas !"
+msgstr "E492: Commande inconnue "
 
 msgid "E493: Backwards range given"
-msgstr "E493: Champ d'action inversé reçu"
-
-# todo
+msgstr "E493: La plage spécifiée est inversée"
+
 msgid "Backwards range given, OK to swap"
-msgstr "Champ d'action inversé reçu, OK pour inverser"
+msgstr "La plage spécifiée est inversée, OK pour l'inverser"
 
 msgid "E494: Use w or w>>"
 msgstr "E494: Utilisez w ou w>>"
@@ -1218,29 +1395,28 @@ msgid "E172: Only one file name allowed"
 msgstr "E172: Un seul nom de fichier autorisé"
 
 msgid "1 more file to edit.  Quit anyway?"
-msgstr "Encore un fichier à éditer.  Quitter quand même ?"
+msgstr "Encore 1 fichier à éditer. Quitter tout de même ?"
 
 #, c-format
 msgid "%d more files to edit.  Quit anyway?"
-msgstr "Encore %d fichiers à éditer.  Quitter quand même ?"
+msgstr "Encore %d fichiers à éditer. Quitter tout de même ?"
 
 msgid "E173: 1 more file to edit"
-msgstr "E173: encore un fichier à éditer"
+msgstr "E173: encore 1 fichier à éditer"
 
 #, c-format
 msgid "E173: %ld more files to edit"
 msgstr "E173: encore %ld fichiers à éditer"
 
 msgid "E174: Command already exists: add ! to replace it"
-msgstr "E174: La commande existe déjà: ajoutez ! pour la redéfinir"
-
-# TODO
+msgstr "E174: La commande existe déjà : ajoutez ! pour la redéfinir"
+
 msgid ""
 "\n"
 "    Name        Args Range Complete  Definition"
 msgstr ""
 "\n"
-"    Nom         Args Champ Complét.  Définition"
+"    Nom         Args Plage Complèt.  Définition"
 
 msgid "No user-defined commands found"
 msgstr "Aucune commande définie par l'utilisateur trouvée"
@@ -1252,56 +1428,71 @@ msgid "E176: Invalid number of arguments
 msgstr "E176: Nombre d'arguments invalide"
 
 msgid "E177: Count cannot be specified twice"
-msgstr "E177: La quantité ne peut être indiquée deux fois"
+msgstr "E177: Le quantificateur ne peut être spécifié deux fois"
 
 msgid "E178: Invalid default value for count"
-msgstr "E178: La valeur par défaut de la quantité est invalide"
-
-# TODO
-msgid "E179: argument required for complete"
-msgstr "E179: argument requis pour complete"
-
-#, c-format
-msgid "E180: Invalid complete value: %s"
-msgstr "E180: Valeur complète invalide: %s"
-
-msgid "E467: Custom completion requires a function argument"
-msgstr "E467: La complétion personnalisée requiert une fonction en argument"
-
-msgid "E468: Completion argument only allowed for custom completion"
-msgstr "E468: Seule la complétion personnalisée prend un argument"
+msgstr "E178: La valeur par défaut du quantificateur est invalide"
+
+msgid "E179: argument required for -complete"
+msgstr "E179: argument requis avec -complete"
 
 #, c-format
 msgid "E181: Invalid attribute: %s"
-msgstr "E181: Attribut invalide: %s"
+msgstr "E181: Attribut invalide : %s"
 
 msgid "E182: Invalid command name"
 msgstr "E182: Nom de commande invalide"
 
-# TODO
 msgid "E183: User defined commands must start with an uppercase letter"
-msgstr "E183: Commandes définies par utilisateur doivent commencer par majuscule"
+msgstr ""
+"E183: Les commandes utilisateur doivent commencer par une majuscule"
 
 #, c-format
 msgid "E184: No such user-defined command: %s"
-msgstr "E184: Pas de telle commande définie par l'utilisateur: %s"
+msgstr "E184: Aucune commande %s définie par l'utilisateur"
+
+#, c-format
+msgid "E180: Invalid complete value: %s"
+msgstr "E180: Valeur invalide pour \"-complete=\" : %s"
+
+msgid "E468: Completion argument only allowed for custom completion"
+msgstr "E468: Seul le complètement personnalisé accepte un argument"
+
+msgid "E467: Custom completion requires a function argument"
+msgstr "E467: Le complètement personnalisé requiert une fonction en argument"
 
 #, c-format
 msgid "E185: Cannot find color scheme %s"
-msgstr "E185: Ne peut trouver le style de couleurs %s"
+msgstr "E185: Impossible de trouver le jeu de couleurs %s"
 
 msgid "Greetings, Vim user!"
 msgstr "Bienvenue, utilisateur de Vim !"
 
+msgid "E784: Cannot close last tab page"
+msgstr "E784: Impossible de fermer le dernier onglet"
+
+msgid "Already only one tab page"
+msgstr "Il ne reste déjà plus qu'un seul onglet"
+
 msgid "Edit File in new window"
 msgstr "Ouvrir un fichier dans une nouvelle fenêtre - Vim"
 
+#, c-format
+msgid "Tab page %d"
+msgstr "Onglet %d"
+
 msgid "No swap file"
 msgstr "Pas de fichier d'échange"
 
 msgid "Append File"
 msgstr "Ajouter fichier"
 
+# DB - todo : le messages d'aide (":h E747") n'a rien à voir...
+msgid "E747: Cannot change directory, buffer is modifed (add ! to override)"
+msgstr ""
+"E747: Tampon modifié : impossible de changer de répertoire (ajoutez ! "
+"pour passer outre)"
+
 msgid "E186: No previous directory"
 msgstr "E186: Pas de répertoire précédent"
 
@@ -1313,91 +1504,91 @@ msgstr "E465: :winsize requiert deux arguments numériques"
 
 #, c-format
 msgid "Window position: X %d, Y %d"
-msgstr "Position de la fenêtre: X %d, Y %d"
-
-# TODO
+msgstr "Position de la fenêtre : X %d, Y %d"
+
+# DB : Suggestion, sans doute perfectible.
 msgid "E188: Obtaining window position not implemented for this platform"
-msgstr "E188: La récupération de la position de la fenêtre n'est pas dispo. ici"
+msgstr ""
+"E188: Récupérer la position de la fenêtre non implémenté dans cette version"
 
 msgid "E466: :winpos requires two number arguments"
 msgstr "E466: :winpos requiert deux arguments numériques"
 
-# todo
 msgid "Save Redirection"
 msgstr "Enregistrer la redirection"
 
-# todo
 msgid "Save View"
 msgstr "Enregistrer la vue - Vim"
 
 msgid "Save Session"
 msgstr "Enregistrer la session - Vim"
 
-# TODO
 msgid "Save Setup"
 msgstr "Enregistrer les réglages - Vim"
 
 #, c-format
+msgid "E739: Cannot create directory: %s"
+msgstr "E739: Impossible de créer le répertoire \"%s\""
+
+#, c-format
 msgid "E189: \"%s\" exists (add ! to override)"
 msgstr "E189: \"%s\" existe (ajoutez ! pour passer outre)"
 
 #, c-format
 msgid "E190: Cannot open \"%s\" for writing"
-msgstr "E190: Ne peut ouvrir \"%s\" pour y écrire"
+msgstr "E190: Impossible d'ouvrir \"%s\" pour y écrire"
 
 #. set mark
 msgid "E191: Argument must be a letter or forward/backward quote"
-msgstr "E191: L'argument doit être une lettre ou une apostrophe avant/arrière"
+msgstr "E191: L'argument doit être une lettre ou une (contre-)apostrophe"
 
 msgid "E192: Recursive use of :normal too deep"
 msgstr "E192: Appel récursif de :normal trop important"
 
 msgid "E194: No alternate file name to substitute for '#'"
-msgstr "E194: Pas de nom de fichier alternatif à substituer à '#'"
-
-# TODO
+msgstr "E194: Aucun nom de fichier alternatif à substituer à '#'"
+
 msgid "E495: no autocommand file name to substitute for \"<afile>\""
-msgstr "E495: pas de nom de ficher d'autocommmande à substituer à \"<afile>\""
-
-# TODO
+msgstr "E495: Aucun nom de ficher d'autocommmande à substituer à \"<afile>\""
+
 msgid "E496: no autocommand buffer number to substitute for \"<abuf>\""
-msgstr "E496: pas de numéro de tampon d'autocommande à substituer à \"<abuf>\""
-
-# TODO
+msgstr "E496: Aucun numéro de tampon d'autocommande à substituer à \"<abuf>\""
+
 msgid "E497: no autocommand match name to substitute for \"<amatch>\""
-msgstr "E497: pas de nom de corresp. d'autocommande à substituer à \"<amatch>\""
+msgstr ""
+"E497: Aucune correspondance d'autocommande à substituer à \"<amatch>\""
 
 msgid "E498: no :source file name to substitute for \"<sfile>\""
-msgstr "E498: pas de nom de fichier :source à substituer à \"<sfile>\""
+msgstr "E498: Aucun nom de fichier :source à substituer à \"<sfile>\""
 
 #, no-c-format
 msgid "E499: Empty file name for '%' or '#', only works with \":p:h\""
 msgstr "E499: Nom de fichier vide pour '%' ou '#', ne marche qu'avec \":p:h\""
 
 msgid "E500: Evaluates to an empty string"
-msgstr "E500: Résulte en une chaîne vide"
+msgstr "E500: Évalué en une chaîne vide"
 
 msgid "E195: Cannot open viminfo file for reading"
-msgstr "E195: Ne peut ouvrir viminfo pour y lire"
+msgstr "E195: Impossible d'ouvrir le viminfo en lecture"
 
 msgid "E196: No digraphs in this version"
 msgstr "E196: Pas de digraphes dans cette version"
 
 msgid "E608: Cannot :throw exceptions with 'Vim' prefix"
-msgstr "E608: Impossible de lancer des exceptions avec 'Vim' comme préfixe"
+msgstr "E608: Impossible d'émettre des exceptions avec 'Vim' comme préfixe"
 
 #. always scroll up, don't overwrite
 #, c-format
 msgid "Exception thrown: %s"
-msgstr "Exception lancée: %s"
+msgstr "Exception émise : %s"
 
 #, c-format
 msgid "Exception finished: %s"
-msgstr "Exception terminée: %s"
+msgstr "Exception terminée : %s"
 
 #, c-format
 msgid "Exception discarded: %s"
-msgstr "Exception défaussée: %s"
+msgstr "Exception éliminée : %s"
 
 #, c-format
 msgid "%s, line %ld"
@@ -1406,19 +1597,20 @@ msgstr "%s, ligne %ld"
 #. always scroll up, don't overwrite
 #, c-format
 msgid "Exception caught: %s"
-msgstr "Exception attrapée: %s"
-
+msgstr "Exception interceptée : %s"
+
+# DB - Le c-format est féminin, singulier ou pluriel (cf. 3 messages plus bas).
 #, c-format
 msgid "%s made pending"
-msgstr "%s a été mise en pause"
+msgstr "%s mise(s) en attente"
 
 #, c-format
 msgid "%s resumed"
-msgstr "%s a été relancée"
+msgstr "%s ré-émise(s)"
 
 #, c-format
 msgid "%s discarded"
-msgstr "%s a été défaussée"
+msgstr "%s éliminée(s)"
 
 msgid "Exception"
 msgstr "Exception"
@@ -1431,7 +1623,7 @@ msgstr "Erreur"
 
 #. if (pending & CSTP_INTERRUPT)
 msgid "Interrupt"
-msgstr "Interruption: "
+msgstr "Interruption"
 
 msgid "E579: :if nesting too deep"
 msgstr "E579: Imbrication de :if trop importante"
@@ -1451,14 +1643,20 @@ msgstr "E583: Il ne peut y avoir qu'un s
 msgid "E584: :elseif after :else"
 msgstr "E584: :elseif après :else"
 
-msgid "E585: :while nesting too deep"
-msgstr "E585: Imbrication de :while trop importante"
-
-msgid "E586: :continue without :while"
-msgstr "E586: :continue sans :while"
-
-msgid "E587: :break without :while"
-msgstr "E587: :break sans :while"
+msgid "E585: :while/:for nesting too deep"
+msgstr "E585: Imbrication de :while ou :for trop importante"
+
+msgid "E586: :continue without :while or :for"
+msgstr "E586: :continue sans :while ou :for"
+
+msgid "E587: :break without :while or :for"
+msgstr "E587: :break sans :while ou :for"
+
+msgid "E732: Using :endfor with :while"
+msgstr "E732: Utilisation de :endfor avec :while"
+
+msgid "E733: Using :endwhile with :for"
+msgstr "E733: Utilisation de :endwhile avec :for"
 
 msgid "E601: :try nesting too deep"
 msgstr "E601: Imbrication de :try trop importante"
@@ -1466,15 +1664,12 @@ msgstr "E601: Imbrication de :try trop i
 msgid "E603: :catch without :try"
 msgstr "E603: :catch sans :try"
 
-#. Give up for a ":catch" after ":finally" and ignore it.
-#. * Just parse.
 msgid "E604: :catch after :finally"
 msgstr "E604: :catch après :finally"
 
 msgid "E606: :finally without :try"
 msgstr "E606: :finally sans :try"
 
-#. Give up for a multiple ":finally" and ignore it.
 msgid "E607: multiple :finally"
 msgstr "E607: Il ne peut y avoir qu'un seul :finally"
 
@@ -1482,47 +1677,50 @@ msgid "E602: :endtry without :try"
 msgstr "E602: :endtry sans :try"
 
 msgid "E193: :endfunction not inside a function"
-msgstr "E193: :endfunction à l'extérieur d'une fonction"
-
-# TODO
+msgstr "E193: :endfunction en dehors d'une fonction"
+
+# DB - TODO : Pas compris le message ni comment le déclencher malgré une visite
+#      dans le code.
 msgid "tagname"
-msgstr "tagname"
-
-# TODO
+msgstr "nom du marqueur"
+
+# DB - TODO : Idem précédent.
 msgid " kind file\n"
-msgstr " genre de fichier\n"
+msgstr " type de fichier\n"
 
 msgid "'history' option is zero"
 msgstr "l'option 'history' vaut zéro"
 
+# DB - Messages et les suivants : fichier .viminfo.
+#      Pas de majuscule nécessaire pour les messages d'après.
 #, c-format
 msgid ""
 "\n"
 "# %s History (newest to oldest):\n"
 msgstr ""
 "\n"
-"# %s Historique (chronologie décroissante):\n"
+"# Historique %s (chronologie décroissante) :\n"
 
 msgid "Command Line"
-msgstr "Ligne de commande"
+msgstr "ligne de commande"
 
 msgid "Search String"
-msgstr "Chaîne de recherche"
+msgstr "chaîne de recherche"
 
 msgid "Expression"
-msgstr "Expression"
+msgstr "expression"
 
 msgid "Input Line"
-msgstr "Ligne d'entrée"
+msgstr "ligne de saisie"
 
 msgid "E198: cmd_pchar beyond the command length"
-msgstr "E198: cmd_pchar au delà de la longueur de la commande"
+msgstr "E198: cmd_pchar au-delà de la longueur de la commande"
 
 msgid "E199: Active window or buffer deleted"
 msgstr "E199: Tampon ou fenêtre active effacé(e)"
 
 msgid "Illegal file name"
-msgstr "Nom de fichier illégal"
+msgstr "Nom de fichier invalide"
 
 msgid "is a directory"
 msgstr "est un répertoire"
@@ -1533,16 +1731,21 @@ msgstr "n'est pas un fichier"
 msgid "[New File]"
 msgstr "[Nouveau fichier]"
 
+msgid "[New DIRECTORY]"
+msgstr "[Nouveau RÉPERTOIRE]"
+
+msgid "[File too big]"
+msgstr "[Fichier trop volumineux]"
+
 msgid "[Permission Denied]"
-msgstr "[Autorisation refusée]"
+msgstr "[Permission refusée]"
 
 msgid "E200: *ReadPre autocommands made the file unreadable"
 msgstr "E200: Les autocommandes *ReadPre ont rendu le fichier illisible"
 
-# TODO
 msgid "E201: *ReadPre autocommands must not change current buffer"
 msgstr ""
-"E201: Autocommandes *ReadPre ne doivent pas changer le contenu du tampon "
+"E201: Autocommandes *ReadPre ne doivent pas modifier le contenu du tampon "
 "courant"
 
 msgid "Vim: Reading from stdin...\n"
@@ -1551,9 +1754,8 @@ msgstr "Vim: Lecture de stdin...\n"
 msgid "Reading from stdin..."
 msgstr "Lecture de stdin..."
 
-#. Re-opening the original file failed!
 msgid "E202: Conversion made file unreadable!"
-msgstr "E202: La conversion a rendu le fichier illisble !"
+msgstr "E202: La conversion a rendu le fichier illisible !"
 
 msgid "[fifo/socket]"
 msgstr "[fifo/socket]"
@@ -1564,7 +1766,6 @@ msgstr "[fifo]"
 msgid "[socket]"
 msgstr "[socket]"
 
-# TODO
 msgid "[RO]"
 msgstr "[RO]"
 
@@ -1575,10 +1776,10 @@ msgid "[NL found]"
 msgstr "[NL trouvé]"
 
 msgid "[long lines split]"
-msgstr "[longues lignes divisées]"
+msgstr "[lignes longues coupées]"
 
 msgid "[NOT converted]"
-msgstr "[PAS converti]"
+msgstr "[NON converti]"
 
 msgid "[converted]"
 msgstr "[converti]"
@@ -1586,30 +1787,42 @@ msgstr "[converti]"
 msgid "[crypted]"
 msgstr "[chiffré]"
 
-msgid "[CONVERSION ERROR]"
-msgstr "[ERREUR DE CONVERSION]"
+#, c-format
+msgid "[CONVERSION ERROR in line %ld]"
+msgstr "[ERREUR DE CONVERSION à la ligne %ld]"
 
 #, c-format
 msgid "[ILLEGAL BYTE in line %ld]"
-msgstr "[OCTET ILLÉGAL à la ligne %ld]"
+msgstr "[OCTET INVALIDE à la ligne %ld]"
 
 msgid "[READ ERRORS]"
 msgstr "[ERREURS DE LECTURE]"
 
 msgid "Can't find temp file for conversion"
-msgstr "Peut pas trouver de fichier temporaire pour la conversion"
+msgstr "Impossible de générer un fichier temporaire pour la conversion"
 
 msgid "Conversion with 'charconvert' failed"
 msgstr "La conversion avec 'charconvert' a échoué"
 
+# DB : Pas de majuscule ?
 msgid "can't read output of 'charconvert'"
-msgstr "peut pas lire la sortie de 'charconvert'"
+msgstr "Impossible de lire la sortie de 'charconvert'"
+
+msgid "E676: No matching autocommands for acwrite buffer"
+msgstr "E676: Pas d'autocommande correspondante pour le tampon acwrite"
 
 msgid "E203: Autocommands deleted or unloaded buffer to be written"
-msgstr "E203: Des autocommandes ont effacé ou déchargé le tamon à écrire"
+msgstr "E203: Des autocommandes ont effacé ou déchargé le tampon à écrire"
 
 msgid "E204: Autocommand changed number of lines in unexpected way"
-msgstr "E204: L'autocommande a changé le nombre de lignes de manière inattendue"
+msgstr ""
+"E204: L'autocommande a modifié le nombre de lignes de manière inattendue"
+
+msgid "NetBeans dissallows writes of unmodified buffers"
+msgstr "NetBeans interdit l'écriture des tampons non modifiés"
+
+msgid "Partial writes disallowed for NetBeans buffers"
+msgstr "Netbeans interdit l'écriture partielle de ses tampons"
 
 msgid "is not a file or writable device"
 msgstr "n'est pas un fichier ou un périphérique inscriptible"
@@ -1618,48 +1831,53 @@ msgid "is read-only (add ! to override)"
 msgstr "est en lecture seule (ajoutez ! pour passer outre)"
 
 msgid "E506: Can't write to backup file (add ! to override)"
-msgstr "E506: Peut pas écrire dans la copie de secours (ajoutez ! pour passer outre)"
-
-# todo
+msgstr ""
+"E506: Impossible d'écrire la copie de secours (! pour passer outre)"
+
 msgid "E507: Close error for backup file (add ! to override)"
 msgstr ""
-"E507: Erreur de fermeture de la copie de secours (ajoutez ! pour passer outre)"
-
-# TODO
+"E507: Erreur de fermeture de la copie de secours (! pour passer outre)"
+
 msgid "E508: Can't read file for backup (add ! to override)"
 msgstr ""
-"E508: Peut pas lire le fichier pour une copie de secours (ajoutez ! pour passer outre)"
+"E508: Impossible de lire le fichier pour la copie de secours (ajoutez ! "
+"pour passer outre)"
 
 msgid "E509: Cannot create backup file (add ! to override)"
-msgstr "E509: Peut pas créer de copie de secours (ajoutez ! pour passer outre)"
-
-# TODO
+msgstr ""
+"E509: Impossible de créer la copie de secours (ajoutez ! pour passer outre)"
+
 msgid "E510: Can't make backup file (add ! to override)"
-msgstr "E510: Peut pas créer de copie de secours (ajoutez ! pour passer outre)"
-
-# TODO
+msgstr ""
+"E510: Impossible de générer la copie de secours (ajoutez ! pour passer outre)"
+
 msgid "E460: The resource fork would be lost (add ! to override)"
 msgstr ""
-"E460: La section des ressources serait perdue (ajoutez ! pour passer outre)"
+"E460: Les ressources partagées seraient perdues (ajoutez ! pour passer outre)"
 
 msgid "E214: Can't find temp file for writing"
-msgstr "E214: Peut pas trouver le fichier temporaire pour y écrire"
+msgstr "Impossible de générer un fichier temporaire pour y écrire"
 
 msgid "E213: Cannot convert (add ! to write without conversion)"
-msgstr "E213: Peut pas convertir (ajoutez ! pour écrire sans convertir)"
-
-# todo
+msgstr "E213: Impossible de convertir (ajoutez ! pour écrire sans convertir)"
+
 msgid "E166: Can't open linked file for writing"
-msgstr "E166: Peut pas ouvrir le fichier lié pour y écrire"
+msgstr "E166: Impossible d'ouvrir le lien pour y écrire"
 
 msgid "E212: Can't open file for writing"
-msgstr "E212: Peut pas ouvrir le fichier pour y écrire"
+msgstr "E212: Impossible d'ouvrir le fichier pour y écrire"
+
+msgid "E667: Fsync failed"
+msgstr "E667: Fsynch a échoué"
 
 msgid "E512: Close failed"
 msgstr "E512: Erreur de fermeture de fichier"
 
-msgid "E513: write error, conversion failed"
-msgstr "E513: Erreur d'écriture, la conversion a échoué"
+# DB - todo : un peu long...
+msgid "E513: write error, conversion failed (make 'fenc' empty to override)"
+msgstr ""
+"E513: Erreur d'écriture, échec de la conversion (videz 'fenc' pour passer "
+"outre)"
 
 msgid "E514: write error (file system full?)"
 msgstr "E514: erreur d'écriture (système de fichiers plein ?)"
@@ -1686,13 +1904,13 @@ msgid " written"
 msgstr " écrit(s)"
 
 msgid "E205: Patchmode: can't save original file"
-msgstr "E205: patchmode: peut pas sauver le fichier original"
+msgstr "E205: Patchmode : impossible d'enregistrer le fichier original"
 
 msgid "E206: patchmode: can't touch empty original file"
-msgstr "E206: patchmode: peut pas toucher le fichier original vide"
+msgstr "E206: patchmode : impossible de créer le fichier original vide"
 
 msgid "E207: Can't delete backup file"
-msgstr "E207: Peut pas effacer la copie de secours"
+msgstr "E207: Impossible d'effacer la copie de secours"
 
 msgid ""
 "\n"
@@ -1701,8 +1919,11 @@ msgstr ""
 "\n"
 "ALERTE: Le fichier original est peut-être perdu ou endommagé\n"
 
+# DB - todo : un peu long...
 msgid "don't quit the editor until the file is successfully written!"
-msgstr "ne quittez pas l'éditeur sans que le fichier soit bien enregistré !"
+msgstr ""
+"ne quittez pas l'éditeur tant que le fichier n'est pas correctement "
+"enregistré !"
 
 msgid "[dos]"
 msgstr "[dos]"
@@ -1736,16 +1957,12 @@ msgstr "1 caractère"
 msgid "%ld characters"
 msgstr "%ld caractères"
 
-# TODO
 msgid "[noeol]"
 msgstr "[noeol]"
 
 msgid "[Incomplete last line]"
 msgstr "[Dernière ligne incomplète]"
 
-#. don't overwrite messages here
-#. must give this prompt
-#. don't use emsg() here, don't want to flush the buffers
 msgid "WARNING: The file has been changed since reading it!!!"
 msgstr "ALERTE: Le fichier a été modifié depuis que Vim l'a lu !"
 
@@ -1765,26 +1982,38 @@ msgid "E210: Error reading \"%s\""
 msgstr "E210: Erreur lors de la lecture de \"%s\""
 
 msgid "E246: FileChangedShell autocommand deleted buffer"
-msgstr "E246: L'auto-commande FileChangedShell a effacé le tampon"
-
-#, c-format
-msgid "E211: Warning: File \"%s\" no longer available"
-msgstr "E211: Alerte: Le fichier \"%s\" n'est plus disponible"
-
-# todo
+msgstr "E246: L'autocommande FileChangedShell a effacé le tampon"
+
+#, c-format
+msgid "E211: File \"%s\" no longer available"
+msgstr "E211: Le fichier \"%s\" n'est plus disponible"
+
+# DB - todo : Suggestion. Bof bof, à améliorer.
 #, c-format
 msgid ""
 "W12: Warning: File \"%s\" has changed and the buffer was changed in Vim as "
 "well"
-msgstr "W12: Alerte: Le fichier \"%s\" a changé et le tampon a par ailleurs été modifié dans Vim"
+msgstr ""
+"W12: Alerte: Le fichier \"%s\" a été modifié, ainsi que le tampon dans Vim"
+
+msgid "See \":help W12\" for more info."
+msgstr "Consultez \":help W12\" pour plus d'information."
 
 #, c-format
 msgid "W11: Warning: File \"%s\" has changed since editing started"
 msgstr "W11: Alerte: Le fichier \"%s\" a changé depuis le début de l'édition"
 
+msgid "See \":help W11\" for more info."
+msgstr "Consultez \":help W11\" pour plus d'information."
+
 #, c-format
 msgid "W16: Warning: Mode of file \"%s\" has changed since editing started"
-msgstr "W16: Alerte: Les permissions de \"%s\" ont changé depuis le début de l'édition"
+msgstr ""
+"W16: Alerte: Les permissions de \"%s\" ont changé depuis le début de "
+"l'édition"
+
+msgid "See \":help W16\" for more info."
+msgstr "Consultez \":help W16\" pour plus d'information."
 
 #, c-format
 msgid "W13: Warning: File \"%s\" has been created after editing started"
@@ -1798,31 +2027,38 @@ msgid ""
 "&Load File"
 msgstr ""
 "&Ok\n"
-"&Charge le fichier"
+"&Charger le fichier"
 
 #, c-format
 msgid "E462: Could not prepare for reloading \"%s\""
-msgstr "E462: Pas pu préparer le rechargement de \"%s\""
+msgstr "E462: Impossible de préparer le rechargement de \"%s\""
 
 #, c-format
 msgid "E321: Could not reload \"%s\""
-msgstr "E321: Pas pu recharger \"%s\""
+msgstr "E321: Impossible de recharger \"%s\""
 
 msgid "--Deleted--"
 msgstr "--Effacé--"
 
-#. the group doesn't exist
+#, c-format
+msgid "auto-removing autocommand: %s <buffer=%d>"
+msgstr "Autocommandes marquées pour auto-suppression : %s <tampon=%d>"
+
 #, c-format
 msgid "E367: No such group: \"%s\""
-msgstr "E367: Pas de tel groupe: \"%s\""
+msgstr "E367: Aucun groupe \"%s\""
 
 #, c-format
 msgid "E215: Illegal character after *: %s"
-msgstr "E215: Caractère illégal après *: %s"
+msgstr "E215: Caractère non valide après * : %s"
 
 #, c-format
 msgid "E216: No such event: %s"
-msgstr "E216: Pas de tel évènement: %s"
+msgstr "E216: Aucun événement %s"
+
+#, c-format
+msgid "E216: No such group or event: %s"
+msgstr "E216: Aucun événement ou groupe %s"
 
 #. Highlight title
 msgid ""
@@ -1832,24 +2068,28 @@ msgstr ""
 "\n"
 "--- Auto-commandes ---"
 
+#, c-format
+msgid "E680: <buffer=%d>: invalid buffer number "
+msgstr "E680: <buffer=%d> : numéro de tampon invalide"
+
 msgid "E217: Can't execute autocommands for ALL events"
-msgstr "E217: Impossible d'exécuter une autocommande pour TOUS les évènements"
+msgstr ""
+"E217: Impossible d'exécuter les autocommandes pour TOUS les événements (ALL)"
 
 msgid "No matching autocommands"
-msgstr "Pas d'autocommande correspondante"
+msgstr "Aucune autocommande correspondante"
 
 msgid "E218: autocommand nesting too deep"
 msgstr "E218: autocommandes trop imbriquées"
 
 #, c-format
 msgid "%s Auto commands for \"%s\""
-msgstr "%s Auto commandes pour \"%s\""
+msgstr "Autocommandes %s pour \"%s\""
 
 #, c-format
 msgid "Executing %s"
 msgstr "Exécution de %s"
 
-#. always scroll up, don't overwrite
 #, c-format
 msgid "autocommand %s"
 msgstr "autocommande %s"
@@ -1861,92 +2101,103 @@ msgid "E220: Missing }."
 msgstr "E220: } manquant."
 
 msgid "E490: No fold found"
-msgstr "E490: Pas trouvé de repli"
+msgstr "E490: Aucune repli trouvé"
 
 msgid "E350: Cannot create fold with current 'foldmethod'"
-msgstr "E350: Ne peut créer de repli avec la 'foldmethod' courante"
+msgstr "E350: Impossible de créer un repli avec la 'foldmethod'e actuelle"
 
 msgid "E351: Cannot delete fold with current 'foldmethod'"
-msgstr "E351: Ne peut effacer le repli avec la 'foldmethod' courante"
+msgstr "E351: Impossible de supprimer un repli avec la 'foldmethod'e actuelle"
+
+#, c-format
+msgid "+--%3ld lines folded "
+msgstr "+--%3ld lignes repliées "
 
 msgid "E222: Add to read buffer"
 msgstr "E222: Ajout au tampon de lecture"
 
 msgid "E223: recursive mapping"
-msgstr "E223: mapping récursif"
+msgstr "E223: mappage récursif"
 
 #, c-format
 msgid "E224: global abbreviation already exists for %s"
-msgstr "E224: une abbréviation globale existe déjà pour %s"
+msgstr "E224: une abréviation globale existe déjà pour %s"
 
 #, c-format
 msgid "E225: global mapping already exists for %s"
-msgstr "E225: un mapping global existe déjà pour %s"
+msgstr "E225: un mappage global existe déjà pour %s"
 
 #, c-format
 msgid "E226: abbreviation already exists for %s"
-msgstr "E226: une abbréviation existe déjà pour %s"
+msgstr "E226: une abréviation existe déjà pour %s"
 
 #, c-format
 msgid "E227: mapping already exists for %s"
-msgstr "E227: un mapping existe déjà pour %s"
+msgstr "E227: un mappage existe déjà pour %s"
 
 msgid "No abbreviation found"
-msgstr "Pas d'abbréviation trouvée"
-
-# TODO
+msgstr "Aucune abréviation trouvée"
+
 msgid "No mapping found"
-msgstr "Pas de mapping trouvé"
+msgstr "Aucun mappage trouvé"
 
 msgid "E228: makemap: Illegal mode"
-msgstr "E228: makemap: Mode illégal"
+msgstr "E228: makemap: mode invalide"
+
+msgid "<cannot open> "
+msgstr "<impossible d'ouvrir> "
+
+#, c-format
+msgid "E616: vim_SelFile: can't get font %s"
+msgstr "E616: vim_SelFile: impossible d'obtenir la police %s"
+
+msgid "E614: vim_SelFile: can't return to current directory"
+msgstr "E614: vim_SelFile: impossible de  revenir dans le répertoire courant"
+
+msgid "Pathname:"
+msgstr "Chemin :"
+
+msgid "E615: vim_SelFile: can't get current directory"
+msgstr "E615: vim_SelFile: impossible d'obtenir le répertoire courant"
+
+msgid "OK"
+msgstr "Ok"
+
+msgid "Cancel"
+msgstr "Annuler"
+
+msgid "Vim dialog"
+msgstr "Vim"
+
+msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
+msgstr "Widget scrollbar: Impossible d'obtenir la géométrie du pixmap 'thumb'"
+
+msgid "E232: Cannot create BalloonEval with both message and callback"
+msgstr "E232: Impossible de créer un BalloonEval avec message ET callback"
 
 msgid "E229: Cannot start the GUI"
 msgstr "E229: Impossible de démarrer l'interface graphique"
 
 #, c-format
 msgid "E230: Cannot read from \"%s\""
-msgstr "E230: Pas pu lire \"%s\""
+msgstr "E230: Impossible de lire \"%s\""
+
+msgid "E665: Cannot start GUI, no valid font found"
+msgstr ""
+"E665: Impossible de démarrer l'IHM graphique, aucune police valide trouvée"
 
 msgid "E231: 'guifontwide' invalid"
 msgstr "E231: 'guifontwide' est invalide"
 
+msgid "E599: Value of 'imactivatekey' is invalid"
+msgstr "E599 : Valeur de 'imactivatekey' invalide"
+
 #, c-format
 msgid "E254: Cannot allocate color %s"
-msgstr "E254: Peut pas allouer la couleur %s"
-
-msgid "<cannot open> "
-msgstr "<pas pu ouvrir> "
-
-#, c-format
-msgid "E616: vim_SelFile: can't get font %s"
-msgstr "E616: vim_SelFile: pas pu récupérer la fonte %s"
-
-msgid "E614: vim_SelFile: can't return to current directory"
-msgstr "E614: vim_SelFile: pas pu revenir dans le répertoire courant"
-
-msgid "Pathname:"
-msgstr "Chemin:"
-
-msgid "E615: vim_SelFile: can't get current directory"
-msgstr "E615: vim_SelFile: pas pu récupérer le répertoire courant"
-
-msgid "OK"
-msgstr "Ok"
-
-msgid "Cancel"
-msgstr "Annuler"
-
-# TODO
-msgid "Scrollbar Widget: Could not get geometry of thumb pixmap."
-msgstr "Widget scrollbar: Pas pu récupérer la géométrie du thumb pixmap. '^_^"
-
-msgid "Vim dialog"
-msgstr "Vim"
-
-# todo
-msgid "E232: Cannot create BalloonEval with both message and callback"
-msgstr "E232: Ne peut créer BalloonEval avec message ET callback"
+msgstr "E254: Impossible d'allouer la couleur %s"
+
+msgid "No match at cursor, finding next"
+msgstr "Aucune correspondance sous le curseur, recherche de la suivante"
 
 msgid "Vim dialog..."
 msgstr "Vim"
@@ -1976,14 +2227,13 @@ msgstr "Rechercher :"
 msgid "Replace with:"
 msgstr "Remplacer par :"
 
-# todo
 #. whole word only button
 msgid "Match whole word only"
 msgstr "Mots entiers seulement"
 
 #. match case button
 msgid "Match case"
-msgstr "Respecter casse"
+msgstr "Respecter la casse"
 
 msgid "Direction"
 msgstr "Direction"
@@ -2004,45 +2254,73 @@ msgstr "Remplacer"
 msgid "Replace All"
 msgstr "Remplacer tout"
 
-# todo
 msgid "Vim: Received \"die\" request from session manager\n"
-msgstr "Vim: Une requête \"meurs\" a été reçue du gestionnaire de session\n"
+msgstr "Vim: Une requête \"die\" a été reçue par le gestionnaire de session\n"
+
+msgid "Close"
+msgstr "Fermer"
+
+msgid "New tab"
+msgstr "Nouvel onglet"
+
+# DB - todo : un peu long. Cet entrée de menu permet d'ouvrir un fichier
+#      dans un nouvel onglet via le sélecteur de fichiers graphique.
+msgid "Open Tab..."
+msgstr "Ouvrir dans un onglet..."
 
 msgid "Vim: Main window unexpectedly destroyed\n"
-msgstr "Vim: Fenêtre principale détruite inattendûment\n"
+msgstr "Vim: Fenêtre principale détruite inopinément\n"
 
 msgid "Font Selection"
 msgstr "Choisir une police - Vim"
 
-# todo
+# DB - Message de débogage.
 msgid "Used CUT_BUFFER0 instead of empty selection"
-msgstr "Utilisé CUT_BUFFER0 au lieu d'une sélection vide"
-
-msgid "Filter"
-msgstr "Filtre"
+msgstr "CUT_BUFFER0 utilisé plutôt qu'une sélection vide"
+
+msgid "&Filter"
+msgstr "&Filtrer"
+
+msgid "&Cancel"
+msgstr "&Annuler"
 
 msgid "Directories"
 msgstr "Répertoires"
 
-msgid "Help"
-msgstr "Aide"
+msgid "Filter"
+msgstr "Filtre"
+
+msgid "&Help"
+msgstr "&Aide"
 
 msgid "Files"
 msgstr "Fichiers"
 
+msgid "&OK"
+msgstr "&Ok"
+
 msgid "Selection"
 msgstr "Sélection"
 
-msgid "Undo"
-msgstr "Annuler"
+msgid "Find &Next"
+msgstr "Suiva&nt"
+
+msgid "&Replace"
+msgstr "&Remplacer"
+
+msgid "Replace &All"
+msgstr "Rempl&acer tout"
+
+msgid "&Undo"
+msgstr "Ann&uler"
 
 #, c-format
 msgid "E610: Can't load Zap font '%s'"
-msgstr "E610: Ne peut charger la fonte Zap '%s'"
+msgstr "E610: Impossible de charger la police Zap '%s'"
 
 #, c-format
 msgid "E611: Can't use font %s"
-msgstr "E611: Ne peut utiliser la fonte %s"
+msgstr "E611: Impossible d'utiliser la police %s"
 
 msgid ""
 "\n"
@@ -2052,37 +2330,68 @@ msgstr ""
 "Envoi d'un message pour interrompre le processus fils.\n"
 
 #, c-format
+msgid "E671: Cannot find window title \"%s\""
+msgstr "E671: Titre de fenêtre \"%s\" introuvable"
+
+#, c-format
 msgid "E243: Argument not supported: \"-%s\"; Use the OLE version."
-msgstr "E243: Argument insupporté: \"-%s\"; Utilisez la version OLE."
+msgstr "E243: Argument non supporté : \"-%s\" ; Utilisez la version OLE."
+
+msgid "E672: Unable to open window inside MDI application"
+msgstr "E672: Impossible d'ouvrir une fenêtre dans une application MDI"
+
+# DB - Les quelques messages qui suivent se retouvent aussi ici :
+#      gui_gtk_x11.c:3170 et suivants.
+#      Les libellés changent un peu (majuscule par exemple).
+#      La VF tâche de les unifier.
+msgid "Close tab"
+msgstr "Fermer l'onglet"
+
+msgid "Open tab..."
+msgstr "Ouvrir dans un onglet..."
 
 msgid "Find string (use '\\\\' to find  a '\\')"
-msgstr "Trouver un texte (utilisez '\\\\' pour trouver un '\\')"
+msgstr "Chercher une chaîne (utilisez '\\\\' pour chercher un '\\')"
 
 msgid "Find & Replace (use '\\\\' to find  a '\\')"
 msgstr "Chercher et remplacer (utilisez '\\\\' pour trouver un '\\')"
 
-# todo
+#. We fake this: Use a filter that doesn't select anything and a default
+#. * file name that won't be used.
+# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un
+#      paramétrage bidon afin de sélectionner un répertoire plutôt qu'un
+#      fichier.
+msgid "Not Used"
+msgstr "Non utilisé"
+
+# DB - Traduction non indispensable puisque le code indique qu'il s'agit d'un
+#      paramétrage bidon afin de sélectionner un répertoire plutôt qu'un
+#      fichier.
+msgid "Directory\t*.nothing\n"
+msgstr "Répertoire\t*.rien\n"
+
+# DB - todo : perfectible.
 msgid "Vim E458: Cannot allocate colormap entry, some colors may be incorrect"
 msgstr ""
-"Vim E458: Erreur d'allocation de couleur, couleurs incorrectes possibles"
-
+"Vim E458: Erreur d'allocation de couleurs, couleurs possiblement incorrectes"
+
+# DB - todo : La VF est-elle compréhensible ?
 #, c-format
 msgid "E250: Fonts for the following charsets are missing in fontset %s:"
-msgstr "E250: Pas de fontes pour ces charsets dans le fontset %s:"
+msgstr ""
+"E250: Des polices manquent dans %s pour les jeux de caractères suivants :"
 
 #, c-format
 msgid "E252: Fontset name: %s"
-msgstr "E252: Nom du fontset: %s"
-
-# todo
+msgstr "E252: Nom du jeu de polices : %s"
+
 #, c-format
 msgid "Font '%s' is not fixed-width"
-msgstr "La fonte '%s' n'a pas une largeur fixe"
-
-# TODO
+msgstr "La police '%s' n'a pas une largeur fixe"
+
 #, c-format
 msgid "E253: Fontset name: %s\n"
-msgstr "E253: Nom du fontset: %s\n"
+msgstr "E253: Nom du jeu de polices : %s\n"
 
 #, c-format
 msgid "Font0: %s\n"
@@ -2093,58 +2402,188 @@ msgid "Font1: %s\n"
 msgstr "Font1: %s\n"
 
 #, c-format
-msgid "Font%d width is not twice that of font0\n"
-msgstr "La largeur de Font%d n'est pas le double de celle de Font0\n"
+msgid "Font%ld width is not twice that of font0\n"
+msgstr "La largeur de Font%ld n'est pas le double de celle de Font0\n"
 
 #, c-format
 msgid "Font0 width: %ld\n"
-msgstr "Largeur Font0: %ld\n"
+msgstr "Largeur de Font0 : %ld\n"
 
 #, c-format
 msgid ""
 "Font1 width: %ld\n"
 "\n"
 msgstr ""
-"Largeur Font1: %ld\n"
-"\n"
+"Largeur de Font1 : %ld\n"
+"\n"
+
+# DB - todo : Pas certain de mon coup, ici...
+msgid "Invalid font specification"
+msgstr "La spécification de la police est invalide"
+
+msgid "&Dismiss"
+msgstr "Aban&donner"
+
+# DB - todo : Pas certain de mon coup, ici...
+msgid "no specific match"
+msgstr "aucune correspondance particulière"
+
+msgid "Vim - Font Selector"
+msgstr "Choisir une police - Vim"
+
+msgid "Name:"
+msgstr "Nom :"
+
+msgid "Show size in Points"
+msgstr "Afficher la taille en Points"
+
+msgid "Encoding:"
+msgstr "Encodage :"
+
+msgid "Font:"
+msgstr "Police :"
+
+msgid "Style:"
+msgstr "Style :"
+
+msgid "Size:"
+msgstr "Taille :"
 
 msgid "E256: Hangul automata ERROR"
-msgstr "E256: ERREUR de l'automate Hangul"
+msgstr "E256: ERREUR dans l'automate Hangul"
+
+msgid "E550: Missing colon"
+msgstr "E550: ':' manquant"
+
+# DB - Il s'agit ici d'un problème lors du parsing d'une option dont le contenu
+#      est une liste d'éléments séparés par des virgules.
+msgid "E551: Illegal component"
+msgstr "E551: élément invalide"
+
+msgid "E552: digit expected"
+msgstr "E552: chiffre attendu"
+
+#, c-format
+msgid "Page %d"
+msgstr "Page %d"
+
+msgid "No text to be printed"
+msgstr "Aucun texte à imprimer"
+
+#, c-format
+msgid "Printing page %d (%d%%)"
+msgstr "Impression de la page %d (%d%%)"
+
+#, c-format
+msgid " Copy %d of %d"
+msgstr " Copie %d sur %d"
+
+#, c-format
+msgid "Printed: %s"
+msgstr "Imprimé : %s"
+
+msgid "Printing aborted"
+msgstr "Impression interrompue"
+
+msgid "E455: Error writing to PostScript output file"
+msgstr "E455: Erreur lors de l'écriture du fichier PostScript"
+
+#, c-format
+msgid "E624: Can't open file \"%s\""
+msgstr "E624: Impossible d'ouvrir le fichier \"%s\""
+
+#, c-format
+msgid "E457: Can't read PostScript resource file \"%s\""
+msgstr "E457: Impossible de lire le fichier de ressource PostScript \"%s\""
+
+#, c-format
+msgid "E618: file \"%s\" is not a PostScript resource file"
+msgstr "E618: \"%s\" n'est pas un fichier de ressource PostScript"
+
+#, c-format
+msgid "E619: file \"%s\" is not a supported PostScript resource file"
+msgstr "E619: \"%s\" n'est pas un fichier de ressource PostScript supporté"
+
+#, c-format
+msgid "E621: \"%s\" resource file has wrong version"
+msgstr "E621: La version du fichier de ressource \"%s\" est erronée"
+
+msgid "E673: Incompatible multi-byte encoding and character set."
+msgstr "E673: Jeu de caractères et encodage multi-octets incompatibles"
+
+msgid "E674: printmbcharset cannot be empty with multi-byte encoding."
+msgstr ""
+"E674: 'printmbcharset' ne peut pas être vide avec un encodage multi-octets"
+
+msgid "E675: No default font specified for multi-byte printing."
+msgstr ""
+"E675: Aucune police par défaut pour l'impression multi-octets"
+
+msgid "E324: Can't open PostScript output file"
+msgstr "E324: Impossible d'ouvrir le fichier PostScript de sortie"
+
+#, c-format
+msgid "E456: Can't open file \"%s\""
+msgstr "E456: Impossible d'ouvrir le fichier \"%s\""
+
+msgid "E456: Can't find PostScript resource file \"prolog.ps\""
+msgstr "E456: Le fichier de ressource PostScript \"prolog.ps\" est introuvable"
+
+msgid "E456: Can't find PostScript resource file \"cidfont.ps\""
+msgstr ""
+"E456: Le fichier de ressource PostScript \"cidfont.ps\" est introuvable"
+
+#, c-format
+msgid "E456: Can't find PostScript resource file \"%s.ps\""
+msgstr "E456: Le fichier de ressource PostScript \"%s.ps\" est introuvable"
+
+#, c-format
+msgid "E620: Unable to convert to print encoding \"%s\""
+msgstr "E620: La conversion pour imprimer dans l'encodage \"%s\" a échoué"
+
+msgid "Sending to printer..."
+msgstr "Envoi à l'imprimante..."
+
+msgid "E365: Failed to print PostScript file"
+msgstr "E365: L'impression du fichier PostScript a échoué"
+
+msgid "Print job sent."
+msgstr "Tâche d'impression envoyée."
 
 msgid "Add a new database"
 msgstr "Ajouter une base de données"
 
 msgid "Query for a pattern"
-msgstr "Requête selon un motif"
+msgstr "Rechercher un motif"
 
 msgid "Show this message"
 msgstr "Afficher ce message"
 
 msgid "Kill a connection"
-msgstr "Casser une connection"
+msgstr "Fermer une connexion"
 
 msgid "Reinit all connections"
-msgstr "Réinitialiser les connections"
+msgstr "Réinitialiser toutes les connexions"
 
 msgid "Show connections"
-msgstr "Montrer les connections"
+msgstr "Afficher les connexions"
 
 #, c-format
 msgid "E560: Usage: cs[cope] %s"
-msgstr "E560: Utilisation: cs[cope] %s"
+msgstr "E560: Utilisation : cs[cope] %s"
 
 msgid "This cscope command does not support splitting the window.\n"
-msgstr "Cette commande cscope ne supporte pas la séparation de la fenêtre.\n"
+msgstr "Cette commande cscope ne supporte pas le partage de la fenêtre.\n"
 
 msgid "E562: Usage: cstag <ident>"
-msgstr "E562: Utilisation: cstag <ident>"
+msgstr "E562: Utilisation : cstag <ident>"
 
 msgid "E257: cstag: tag not found"
-msgstr "E257: cstag: étiquette introuvable"
+msgstr "E257: cstag: marqueur introuvable"
 
 #, c-format
 msgid "E563: stat(%s) error: %d"
-msgstr "E563: Erreur stat(%s): %d"
+msgstr "E563: Erreur stat(%s) : %d"
 
 msgid "E563: stat error"
 msgstr "E563: Erreur stat"
@@ -2155,28 +2594,26 @@ msgstr "E564: %s n'est pas un répertoire ou une base de données cscope valide"
 
 #, c-format
 msgid "Added cscope database %s"
-msgstr "Ajouté la base de données cscope %s"
+msgstr "Base de données cscope %s ajoutée"
 
 #, c-format
 msgid "E262: error reading cscope connection %ld"
-msgstr "E262: erreur lors de la lecture de la connection cscope %ld"
+msgstr "E262: erreur lors de la lecture de la connexion cscope %ld"
 
 msgid "E561: unknown cscope search type"
 msgstr "E561: type de recherche cscope inconnu"
 
-# todo
 msgid "E566: Could not create cscope pipes"
-msgstr "E566: Pas pu créer de tuyaux (pipes) cscope"
-
-# TODO
+msgstr "E566: Impossible de créer les tuyaux (pipes) cscope"
+
 msgid "E622: Could not fork for cscope"
-msgstr "E622: Pas pu forker pour cscope"
+msgstr "E622: Impossible de forker pour cscope"
 
 msgid "cs_create_connection exec failed"
 msgstr "exec de cs_create_connection a échoué"
 
 msgid "E623: Could not spawn cscope process"
-msgstr "E623: Pas pu engendrer le processus cscope"
+msgstr "E623: Impossible d'engendrer le processus cscope"
 
 msgid "cs_create_connection: fdopen for to_fp failed"
 msgstr "cs_create_connection: fdopen pour to_fp a échoué"
@@ -2185,54 +2622,53 @@ msgid "cs_create_connection: fdopen for 
 msgstr "cs_create_connection: fdopen pour fr_fp a échoué"
 
 msgid "E567: no cscope connections"
-msgstr "E567: pas de connection cscope"
-
+msgstr "E567: Aucune connexion cscope"
+
+# DB - todo
 #, c-format
 msgid "E259: no matches found for cscope query %s of %s"
-msgstr "E259: pas de corresp. trouvée pour la requête cscope %s de %s"
-
-# todo
+msgstr ""
+"E259: aucune correspondance trouvée pour la requête cscope %s de %s"
+
 #, c-format
 msgid "E469: invalid cscopequickfix flag %c for %c"
-msgstr "E469: Drapeau cscopequickfix %c pour %c invalide"
+msgstr "E469: Drapeau cscopequickfix %c invalide pour %c"
 
 msgid "cscope commands:\n"
-msgstr "commandes cscope:\n"
+msgstr "commandes cscope :\n"
 
 #, c-format
 msgid "%-5s: %-30s (Usage: %s)"
-msgstr "%-5s: %-30s (Utilisation: %s)"
+msgstr "%-5s: %-30s (Utilisation : %s)"
 
 #, c-format
 msgid "E625: cannot open cscope database: %s"
-msgstr "E625: impossible d'ouvrir la base de données cscope: %s"
-
-# todo
+msgstr "E625: impossible d'ouvrir la base de données cscope %s"
+
 msgid "E626: cannot get cscope database information"
-msgstr "E626: impossible d'obtenir des infos sur la base de données cscope"
-
-# todo
+msgstr ""
+"E626: impossible d'obtenir des informations sur la base de données cscope"
+
 msgid "E568: duplicate cscope database not added"
-msgstr "E568: base de données cscope redondante pas ajoutée"
+msgstr "E568: base de données cscope redondante non ajoutée"
 
 msgid "E569: maximum number of cscope connections reached"
-msgstr "E569: nombre maximum de connections cscope atteint"
+msgstr "E569: nombre maximum de connexions cscope atteint"
 
 #, c-format
 msgid "E261: cscope connection %s not found"
-msgstr "E261: la connection cscope %s n'a pas été trouvée"
+msgstr "E261: Connexion cscope %s introuvable"
 
 #, c-format
 msgid "cscope connection %s closed"
-msgstr "connection cscope %s est fermée"
-
-#. should not reach here
+msgstr "connexion cscope %s fermée"
+
 msgid "E570: fatal error in cs_manage_matches"
 msgstr "E570: erreur fatale dans cs_manage_matches"
 
 #, c-format
 msgid "Cscope tag: %s"
-msgstr "Étiquette cscope: %s"
+msgstr "Marqueur cscope : %s"
 
 msgid ""
 "\n"
@@ -2241,26 +2677,90 @@ msgstr ""
 "\n"
 "   #   ligne"
 
+# DB - todo : Faut-il respecter l'alignement ici ?
 msgid "filename / context / line\n"
-msgstr "nom-fichier / context / ligne\n"
+msgstr "nom      / contexte/ ligne\n"
 
 #, c-format
 msgid "E609: Cscope error: %s"
-msgstr "E609: Erreur cscope: %s"
+msgstr "E609: Erreur cscope : %s"
 
 msgid "All cscope databases reset"
-msgstr "Toutes les bases de données cscope ont été remises à zéro"
+msgstr "Toutes les bases de données cscope ont été réinitialisées"
 
 msgid "no cscope connections\n"
-msgstr "pas de connection cscope\n"
+msgstr "aucune connexion cscope\n"
 
 msgid " # pid    database name                       prepend path\n"
-msgstr " # pid    nom dans base de données            insérer chemin\n"
+msgstr " # pid    nom de la base de données           chemin\n"
+
+msgid ""
+"???: Sorry, this command is disabled, the MzScheme library could not be "
+"loaded."
+msgstr ""
+"???: Désolé, commande désactivée : la bibliothèque MzScheme n'a pas pu être "
+"chargée."
+
+msgid "invalid expression"
+msgstr "expression invalide"
+
+msgid "expressions disabled at compile time"
+msgstr "expressions désactivée lors de la compilation"
+
+msgid "hidden option"
+msgstr "option cachée"
+
+msgid "unknown option"
+msgstr "option inconnue"
+
+msgid "window index is out of range"
+msgstr "numéro de fenêtre hors limites"
+
+msgid "couldn't open buffer"
+msgstr "impossible d'ouvrir le tampon"
+
+msgid "cannot save undo information"
+msgstr "impossible d'enregistrer les informations d'annulation"
+
+msgid "cannot delete line"
+msgstr "impossible d'effacer la ligne"
+
+msgid "cannot replace line"
+msgstr "impossible de remplacer la ligne"
+
+msgid "cannot insert line"
+msgstr "impossible d'insérer la ligne"
+
+msgid "string cannot contain newlines"
+msgstr "une chaîne ne peut pas contenir de saut-de-ligne"
+
+msgid "Vim error: ~a"
+msgstr "Erreur Vim : ~a"
+
+msgid "Vim error"
+msgstr "Erreur Vim"
+
+msgid "buffer is invalid"
+msgstr "tampon invalide"
+
+msgid "window is invalid"
+msgstr "fenêtre invalide"
+
+msgid "linenr out of range"
+msgstr "numéro de ligne hors limites"
+
+msgid "not allowed in the Vim sandbox"
+msgstr "non autorisé dans le bac à sable"
 
 msgid ""
 "E263: Sorry, this command is disabled, the Python library could not be "
 "loaded."
-msgstr "E263: Désolé, cette commande est désactivée, la bibliothèque Python n'a pu être chargée."
+msgstr ""
+"E263: Désolé, commande désactivée : la bibliothèque Python n'a pas pu être "
+"chargée."
+
+msgid "E659: Cannot invoke Python recursively"
+msgstr "E659: Impossible d'invoquer Python récursivement"
 
 msgid "can't delete OutputObject attributes"
 msgstr "impossible d'effacer les attributs d'OutputObject"
@@ -2277,14 +2777,8 @@ msgstr "writelines() requiert une liste de chaînes"
 msgid "E264: Python: Error initialising I/O objects"
 msgstr "E264: Python: Erreur d'initialisation des objets d'E/S"
 
-msgid "invalid expression"
-msgstr "expression invalide"
-
-msgid "expressions disabled at compile time"
-msgstr "expressions désactivée lors de la compilation"
-
 msgid "attempt to refer to deleted buffer"
-msgstr "tentative de référence à un tampon effacé"
+msgstr "tentative de référencer un tampon effacé"
 
 msgid "line number out of range"
 msgstr "numéro de ligne hors limites"
@@ -2297,10 +2791,10 @@ msgid "invalid mark name"
 msgstr "nom de marque invalide"
 
 msgid "no such buffer"
-msgstr "pas de tel tampon"
+msgstr "Ce tampon n'existe pas"
 
 msgid "attempt to refer to deleted window"
-msgstr "tentative de référence à une fenêtre effacée"
+msgstr "tentative de référencer une fenêtre effacée"
 
 msgid "readonly attribute"
 msgstr "attribut en lecture seule"
@@ -2321,30 +2815,18 @@ msgid "<window %d>"
 msgstr "<fenêtre %d>"
 
 msgid "no such window"
-msgstr "pas de telle fenêtre"
-
-msgid "cannot save undo information"
-msgstr "impossible d'enregistrer les informations d'annulation"
-
-msgid "cannot delete line"
-msgstr "impossible d'effacer la ligne"
-
-msgid "cannot replace line"
-msgstr "impossible de remplacer la ligne"
-
-msgid "cannot insert line"
-msgstr "impossible d'insérer la ligne"
-
-msgid "string cannot contain newlines"
-msgstr "la chaîne ne peut contenir de retour à la ligne"
+msgstr "Cette fenêtre n'existe pas"
 
 msgid ""
 "E266: Sorry, this command is disabled, the Ruby library could not be loaded."
-msgstr "E266: Désolé, commande inactive, la bibliothèque Ruby n'a pu être chargée."
-
+msgstr ""
+"E266: Désolé, commande désactivée : la bibliothèque Ruby n'a pas pu être "
+"chargée."
+
+# DB - todo
 #, c-format
 msgid "E273: unknown longjmp status %d"
-msgstr "E273: statut longjmp inconnu: %d"
+msgstr "E273: contexte de longjmp inconnu : %d"
 
 msgid "Toggle implementation/definition"
 msgstr "Basculer implémentation/définition"
@@ -2371,7 +2853,7 @@ msgid "Show source of"
 msgstr "Montrer source de"
 
 msgid "Find symbol"
-msgstr "Trouver symboles"
+msgstr "Trouver symbole"
 
 msgid "Browse class"
 msgstr "Parcourir classe"
@@ -2396,43 +2878,46 @@ msgid "Xref used by"
 msgstr "Xref utilisée par"
 
 msgid "Show docu of"
-msgstr "Montrer docu de"
+msgstr "Montrer doc de"
 
 msgid "Generate docu for"
-msgstr "Génération de docu pour"
+msgstr "Générer la doc de"
 
 msgid ""
 "Cannot connect to SNiFF+. Check environment (sniffemacs must be found in "
 "$PATH).\n"
-msgstr "Connection à SNiFF+ impossible. Vérifiez l'environnement (sniffemacs doit être dans le $PATH).\n"
+msgstr ""
+"Connexion à SNiFF+ impossible. Vérifiez l'environnement (sniffemacs doit "
+"être dans le $PATH).\n"
 
 msgid "E274: Sniff: Error during read. Disconnected"
-msgstr "E274: Sniff: Erreur de lecture. Déconnecté"
-
+msgstr "E274: Sniff: Erreur de lecture. Déconnexion"
+
+# DB - Les trois messages suivants vont ensembles.
 msgid "SNiFF+ is currently "
 msgstr "SNiFF+ est actuellement "
 
 msgid "not "
-msgstr "pas "
+msgstr "dé"
 
 msgid "connected"
 msgstr "connecté"
 
 #, c-format
 msgid "E275: Unknown SNiFF+ request: %s"
-msgstr "E275: Requête SNiFF+ inconnue: %s"
+msgstr "E275: Requête SNiFF+ inconnue : %s"
 
 msgid "E276: Error connecting to SNiFF+"
-msgstr "E276: Erreur de connection à SNiFF+"
+msgstr "E276: Erreur lors de la connexion à SNiFF+"
 
 msgid "E278: SNiFF+ not connected"
 msgstr "E278: SNiFF+ n'est pas connecté"
 
 msgid "E279: Not a SNiFF+ buffer"
-msgstr "E279: Ceci n'est pas un tampon SNiFF+"
+msgstr "E279: Ce tampon n'est pas un tampon SNiFF+"
 
 msgid "Sniff: Error during write. Disconnected"
-msgstr "Sniff: Erreur d'écriture. Déconnection"
+msgstr "Sniff: Erreur lors d'une écriture. Déconnexion"
 
 msgid "invalid buffer number"
 msgstr "numéro de tampon invalide"
@@ -2440,26 +2925,23 @@ msgstr "numéro de tampon invalide"
 msgid "not implemented yet"
 msgstr "pas encore implémenté"
 
-msgid "unknown option"
-msgstr "option inconnue"
-
-# TODO
+# DB - TODO : le contexte est celui d'une annulation.
 #. ???
 msgid "cannot set line(s)"
-msgstr "peut pas régler la/les ligne(s)  '^_^"
+msgstr "Impossible de remettre la/les ligne(s)"
 
 msgid "mark not set"
-msgstr "marque absente"
+msgstr "marque non positionnée"
 
 #, c-format
 msgid "row %d column %d"
 msgstr "ligne %d colonne %d"
 
 msgid "cannot insert/append line"
-msgstr "peut pas insérer/ajouter ligne"
+msgstr "Impossible d'insérer/ajouter de lignes"
 
 msgid "unknown flag: "
-msgstr "drapeau inconnu: "
+msgstr "drapeau inconnu : "
 
 msgid "unknown vimOption"
 msgstr "vimOption inconnue"
@@ -2468,53 +2950,61 @@ msgid "keyboard interrupt"
 msgstr "interruption clavier"
 
 msgid "vim error"
-msgstr "erreur vim"
+msgstr "erreur Vim"
 
 msgid "cannot create buffer/window command: object is being deleted"
-msgstr "peut pas créer cmde tampon/fenêtre: objet en train d'être effacé"
-
-# TODO
+msgstr ""
+"Impossible de créer commande de tampon/fenêtre : objet en cours d'effacement"
+
 msgid ""
 "cannot register callback command: buffer/window is already being deleted"
-msgstr "peut pas inscrire commande de rappel: tampon/fenêtre en effacement"
+msgstr ""
+"Impossible d'inscrire la commande de rappel : tampon/fenêtre en effacement"
 
 #. This should never happen.  Famous last word?
 msgid ""
 "E280: TCL FATAL ERROR: reflist corrupt!? Please report this to vim-dev@vim."
 "org"
 msgstr ""
-"E280: ERREUR FATALE TCL: reflist corrompue ?! Contactez vim-dev@vim.org, svp."
+"E280: ERREUR FATALE TCL: reflist corrompue ?! Contactez vim-dev@vim.org, SVP."
 
 msgid "cannot register callback command: buffer/window reference not found"
-msgstr "peut pas inscrire commande de rappel: réf. tampon/fenêtre introuvable"
+msgstr ""
+"Impossible d'inscrire la commande de rappel : réf. tampon/fenêtre introuvable"
 
 msgid ""
 "E571: Sorry, this command is disabled: the Tcl library could not be loaded."
 msgstr ""
-"E571: Désolé, commande désactivée: la bibliothèque Tcl n'a pu être chargée."
+"E571: Désolé, commande désactivée: la bibliothèque Tcl n'a pas pu être "
+"chargée."
 
 msgid ""
 "E281: TCL ERROR: exit code is not int!? Please report this to vim-dev@vim.org"
-msgstr "E281: ERREUR TCL: code de sortie pas int ?! Contacter vim-dev@vim.org"
+msgstr ""
+"E281: ERREUR TCL: code de sortie non entier ?! Contactez vim-dev@vim.org, SVP"
+
+#, c-format
+msgid "E572: exit code %d"
+msgstr "E572: code de sortie %d"
 
 msgid "cannot get line"
-msgstr "pas pu récupérer la ligne"
-
-# todo
+msgstr "Impossible d'obtenir la ligne"
+
 msgid "Unable to register a command server name"
-msgstr "Incapable d'inscrire un nom de serveur de commande"
+msgstr "Impossible d'inscrire un nom de serveur de commande"
 
 msgid "E248: Failed to send command to the destination program"
-msgstr "E248: Échec de l'envoi de la commande au programme de destination"
+msgstr "E248: Échec de l'envoi de la commande au programme cible"
 
 #, c-format
 msgid "E573: Invalid server id used: %s"
-msgstr "E573: Utilisé une Id de serveur invalide: %s"
+msgstr "E573: Id utilisé pour le serveur invalide : %s"
 
 msgid "E251: VIM instance registry property is badly formed.  Deleted!"
-msgstr "E251: Entrée registre de l'instance de Vim mal formattée.  Effacée !"
-
-msgid "Unknown option"
+msgstr ""
+"E251: Entrée registre de l'instance de Vim mal formattée. Suppression !"
+
+msgid "Unknown option argument"
 msgstr "Option inconnue"
 
 msgid "Too many edit arguments"
@@ -2523,9 +3013,8 @@ msgstr "Trop d'arguments d'édition"
 msgid "Argument missing after"
 msgstr "Argument manquant après"
 
-# todo
-msgid "Garbage after option"
-msgstr "Détritus après l'option"
+msgid "Garbage after option argument"
+msgstr "arguments en trop après l'option"
 
 msgid "Too many \"+command\", \"-c command\" or \"--cmd command\" arguments"
 msgstr "Trop d'arguments \"+command\", \"-c command\" ou \"--cmd command\""
@@ -2533,25 +3022,24 @@ msgstr "Trop d'arguments \"+command\", \
 msgid "Invalid argument for"
 msgstr "Argument invalide pour"
 
+#, c-format
+msgid "%d files to edit\n"
+msgstr "%d fichiers à éditer\n"
+
 msgid "This Vim was not compiled with the diff feature."
 msgstr "Ce Vim n'a pas été compilé avec la fonctionnalité diff"
 
 msgid "Attempt to open script file again: \""
-msgstr "Nvle tentative pour ouvrir le script: \""
-
-msgid "\"\n"
-msgstr "\"\n"
+msgstr "Nouvelle tentative pour ouvrir le script : \""
 
 msgid "Cannot open for reading: \""
-msgstr "Ne peut ouvrir en lecture: \""
-
-# todo
+msgstr "Impossible d'ouvrir en lecture : \""
+
 msgid "Cannot open for script output: \""
-msgstr "Ne peut ouvrir pour la sortie script: \""
-
-#, c-format
-msgid "%d files to edit\n"
-msgstr "%d fichiers à éditer\n"
+msgstr "Impossible d'ouvrir pour la sortie script : \""
+
+msgid "Vim: Error: Failure to start gvim from NetBeans\n"
+msgstr "Vim: Erreur: Impossible de démarrer gvim depuis NetBeans\n"
 
 msgid "Vim: Warning: Output is not to a terminal\n"
 msgstr "Vim: Alerte: La sortie ne s'effectue pas sur un terminal\n"
@@ -2559,13 +3047,12 @@ msgstr "Vim: Alerte: La sortie ne s'effe
 msgid "Vim: Warning: Input is not from a terminal\n"
 msgstr "Vim: Alerte: L'entrée ne se fait pas sur un terminal\n"
 
-#. just in case..
 msgid "pre-vimrc command line"
 msgstr "ligne de commande pre-vimrc"
 
 #, c-format
 msgid "E282: Cannot read from \"%s\""
-msgstr "E282: Ne peut lire \"%s\""
+msgstr "E282: Impossible de lire \"%s\""
 
 msgid ""
 "\n"
@@ -2575,16 +3062,16 @@ msgstr ""
 "Plus d'info avec: \"vim -h\"\n"
 
 msgid "[file ..]       edit specified file(s)"
-msgstr "[fichier ...]  ouvrir le/s fichier/s spécifié/s"
+msgstr "[fichier ...]  ouvrir le ou les fichiers spécifiés"
 
 msgid "-               read text from stdin"
 msgstr "-              lire le texte à partir de stdin"
 
 msgid "-t tag          edit file where tag is defined"
-msgstr "-t étiquette   ouvrir le fichier qui contient l'étiquette"
+msgstr "-t marqueur    ouvrir le fichier qui contient le marqueur"
 
 msgid "-q [errorfile]  edit file with first error"
-msgstr "-q [fichErr]   ouvrir au niveau de la première erreur"
+msgstr "-q [fichErr]   ouvrir à l'endroit de la première erreur"
 
 msgid ""
 "\n"
@@ -2593,7 +3080,7 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"utiliser:"
+"utilisation :"
 
 msgid " vim [arguments] "
 msgstr " vim [args] "
@@ -2603,7 +3090,12 @@ msgid ""
 "   or:"
 msgstr ""
 "\n"
-"      ou:"
+"    ou :"
+
+# DB - todo (VMS uniquement).
+msgid "where case is ignored prepend / to make flag upper case"
+msgstr ""
+"pour lesquels la casse est indifférente (/ pour que le drapeau soit majuscule)"
 
 msgid ""
 "\n"
@@ -2612,25 +3104,26 @@ msgid ""
 msgstr ""
 "\n"
 "\n"
-"Arguments:\n"
+"Arguments :\n"
 
 msgid "--\t\t\tOnly file names after this"
-msgstr "--\t\tPlus que des noms de fichier après ceci"
+msgstr "--\t\tSeuls des noms de fichier sont spécifiés après ceci"
 
 msgid "--literal\t\tDon't expand wildcards"
 msgstr "--literal\tNe pas développer les métacaractères"
 
 msgid "-register\t\tRegister this gvim for OLE"
-msgstr "-register\tInscrire ce gvim pour l'OLE"
+msgstr "-register\tInscrire ce gvim pour OLE"
 
 msgid "-unregister\t\tUnregister gvim for OLE"
-msgstr "-unregister\tDésinscrire gvim de l'OLE"
+msgstr "-unregister\tDésinscrire gvim de OLE"
 
 msgid "-g\t\t\tRun using GUI (like \"gvim\")"
 msgstr "-g\t\tLancer l'interface graphique (comme \"gvim\")"
 
 msgid "-f  or  --nofork\tForeground: Don't fork when starting GUI"
-msgstr "-f, --nofork\tAvant-plan; ne pas détacher l'interface graphique du terminal"
+msgstr ""
+"-f, --nofork\tPremier-plan : ne pas détacher l'interface graphique du terminal"
 
 msgid "-v\t\t\tVi mode (like \"vi\")"
 msgstr "-v\t\tMode Vi (comme \"vi\")"
@@ -2642,7 +3135,7 @@ msgid "-s\t\t\tSilent (batch) mode (only
 msgstr "-s\t\tMode silencieux (batch) (seulement pour \"ex\")"
 
 msgid "-d\t\t\tDiff mode (like \"vimdiff\")"
-msgstr "-d\t\tMode Diff (comme \"vimdiff\")"
+msgstr "-d\t\tMode diff (comme \"vimdiff\")"
 
 msgid "-y\t\t\tEasy mode (like \"evim\", modeless)"
 msgstr "-y\t\tMode facile (comme \"evim\", vim sans modes)"
@@ -2654,7 +3147,7 @@ msgid "-Z\t\t\tRestricted mode (like \"r
 msgstr "-Z\t\tMode restreint (comme \"rvim\")"
 
 msgid "-m\t\t\tModifications (writing files) not allowed"
-msgstr "-m\t\tInterdire l'enregistrement de fichiers"
+msgstr "-m\t\tInterdire l'enregistrement des fichiers"
 
 msgid "-M\t\t\tModifications in text not allowed"
 msgstr "-M\t\tInterdire toute modification de texte"
@@ -2666,22 +3159,22 @@ msgid "-l\t\t\tLisp mode"
 msgstr "-l\t\tMode lisp"
 
 msgid "-C\t\t\tCompatible with Vi: 'compatible'"
-msgstr "-C\t\tCompatible avec Vi: 'compatible'"
+msgstr "-C\t\tCompatible avec Vi : 'compatible'"
 
 msgid "-N\t\t\tNot fully Vi compatible: 'nocompatible'"
-msgstr "-N\t\tPas tellement compatible avec Vi: 'nocompatible'"
+msgstr "-N\t\tPas totalement compatible avec Vi : 'nocompatible'"
 
 msgid "-V[N]\t\tVerbose level"
 msgstr "-V[N]\tNiveau de verbosité"
 
 msgid "-D\t\t\tDebugging mode"
-msgstr "-D\t\tMode de débogage"
+msgstr "-D\t\tMode débogage"
 
 msgid "-n\t\t\tNo swap file, use memory only"
 msgstr "-n\t\tNe pas utiliser de fichier d'échange, seulement la mémoire"
 
 msgid "-r\t\t\tList swap files and exit"
-msgstr "-r\t\tLister les fichiers d'échange puis quitter"
+msgstr "-r\t\tLister les fichiers d'échange et quitter"
 
 msgid "-r (with file name)\tRecover crashed session"
 msgstr "-r <fichier>\tRécupérer une session plantée"
@@ -2693,10 +3186,10 @@ msgid "-f\t\t\tDon't use newcli to open 
 msgstr "-f\t\tNe pas utiliser newcli pour l'ouverture des fenêtres"
 
 msgid "-dev <device>\t\tUse <device> for I/O"
-msgstr "-dev <périf>\tUtiliser <périphérique> pour les E/S"
+msgstr "-dev <périph>\tUtiliser <périphérique> pour les E/S"
 
 msgid "-A\t\t\tstart in Arabic mode"
-msgstr "-A\t\tDémarrer en mode arabique"
+msgstr "-A\t\tDémarrer en mode arabe"
 
 msgid "-H\t\t\tStart in Hebrew mode"
 msgstr "-H\t\tDémarrer en mode hébreu"
@@ -2713,30 +3206,33 @@ msgstr "-u <vimrc>\tUtiliser <vimrc> au 
 msgid "-U <gvimrc>\t\tUse <gvimrc> instead of any .gvimrc"
 msgstr "-U <gvimrc>\tUtiliser <gvimrc> au lieu du gvimrc habituel"
 
-# todo
 msgid "--noplugin\t\tDon't load plugin scripts"
-msgstr "--noplugin\tNe charger aucun plugin scripté"
+msgstr "--noplugin\tNe charger aucun greffon"
+
+msgid "-p[N]\t\tOpen N tab pages (default: one for each file)"
+msgstr "-p[N]\tOuvrir N onglets (défaut: un pour chaque fichier)"
 
 msgid "-o[N]\t\tOpen N windows (default: one for each file)"
-msgstr "-o[N]\tOuvrir N fenêtres (défaut: une pour chaque fichier)"
+msgstr "-o[N]\tOuvrir N fenêtres (défaut : une pour chaque fichier)"
 
 msgid "-O[N]\t\tLike -o but split vertically"
-msgstr "-O[N]\tComme -o, mais séparer verticalement"
+msgstr "-O[N]\tComme -o, mais partager verticalement"
 
 msgid "+\t\t\tStart at end of file"
-msgstr "+\t\tDémarrer en bas du fichier"
+msgstr "+\t\tOuvrir à la fin du fichier"
 
 msgid "+<lnum>\t\tStart at line <lnum>"
-msgstr "+<numL>\tDémarrer à la ligne <numL>"
+msgstr "+<numL>\tOuvrir le fichier à la ligne <numL>"
 
 msgid "--cmd <command>\tExecute <command> before loading any vimrc file"
-msgstr "--cmd <cmde>\tExécuter <commande> avant même de charger les vimrc"
+msgstr "--cmd <cmde>\tExécuter <commande> avant de charger les fichiers vimrc"
 
 msgid "-c <command>\t\tExecute <command> after loading the first file"
 msgstr "-c <cmde>\tExécuter <commande> une fois le 1er fichier chargé"
 
 msgid "-S <session>\t\tSource file <session> after loading the first file"
-msgstr "-S <session>\tLire le fichier <session> une fois le 1er fichier chargé"
+msgstr ""
+"-S <session>\tSourcer le fichier <session> une fois le 1er fichier chargé"
 
 msgid "-s <scriptin>\tRead Normal mode commands from file <scriptin>"
 msgstr "-s <src>\tLire les commandes du mode Normal à partir du fichier <src>"
@@ -2748,43 +3244,48 @@ msgid "-W <scriptout>\tWrite all typed c
 msgstr "-W <dest>\tÉcrire toutes les commandes tapées dans le fichier <dest>"
 
 msgid "-x\t\t\tEdit encrypted files"
-msgstr "-x\t\t\tÉditer des fichiers encodés"
+msgstr "-x\t\t\tÉditer des fichiers chiffrés"
 
 msgid "-display <display>\tConnect vim to this particular X-server"
-msgstr "-display <écran>\tConnecter Vim au serveur X indiqué dans <écran>"
+msgstr "-display <display>\tConnecter Vim au serveur X spécifié"
 
 msgid "-X\t\t\tDo not connect to X server"
-msgstr "-X\t\t\tNe se connecter à aucun serveur X"
+msgstr "-X\t\t\tNe pas se connecter à un serveur X"
 
 msgid "--remote <files>\tEdit <files> in a Vim server if possible"
 msgstr "--remote <fich>\tÉditer les <fichiers> dans un serveur Vim si possible"
 
 msgid "--remote-silent <files>  Same, don't complain if there is no server"
 msgstr ""
-"--remote-silent ...\tPareil, mais pas de plainte s'il n'y a pas de serveur"
+"--remote-silent ...\tPareil, mais pas d'erreur s'il n'y a aucun serveur"
 
 msgid ""
 "--remote-wait <files>  As --remote but wait for files to have been edited"
-msgstr "--remote-wait <fich>\tComme --remote mais ne quitter qu'à la fin de l'édition"
+msgstr ""
+"--remote-wait <fich>\tComme --remote mais ne quitter qu'à la fin de l'édition"
 
 msgid ""
 "--remote-wait-silent <files>  Same, don't complain if there is no server"
 msgstr ""
-"--remote-wait-silent\tPareil, mais pas de plainte s'il n'y a pas de "
-"serveur"
+"--remote-wait-silent\tPareil, mais pas d'erreur s'il n'y a aucun serveur"
+
+msgid "--remote-tab <files>  As --remote but open tab page for each file"
+msgstr ""
+"--remote-tab <fich>\tComme --remote mais ouvrir un onglet pour chaque fichier"
 
 msgid "--remote-send <keys>\tSend <keys> to a Vim server and exit"
 msgstr "--remote-send <tche>\tEnvoyer <touches> à un serveur Vim puis quitter"
 
 msgid "--remote-expr <expr>\tEvaluate <expr> in a Vim server and print result"
-msgstr "--remote-expr <expr>\tÉvaluer <exp> dans un serveur Vim, afficher le résultat"
+msgstr ""
+"--remote-expr <expr>\tÉvaluer <expr> dans un serveur Vim, afficher le résultat"
 
 msgid "--serverlist\t\tList available Vim server names and exit"
 msgstr ""
 "--serverlist\t\tLister les noms des serveurs Vim disponibles et quitter"
 
 msgid "--servername <name>\tSend to/become the Vim server <name>"
-msgstr "--servername <nom>\tEnvoyer au / Devenir le serveur Vim nommé <nom>"
+msgstr "--servername <nom>\tEnvoyer au/devenir le serveur Vim nommé <nom>"
 
 msgid "-i <viminfo>\t\tUse <viminfo> instead of .viminfo"
 msgstr "-i <viminfo>\t\tUtiliser <viminfo> au lieu du viminfo habituel"
@@ -2793,31 +3294,31 @@ msgid "-h  or  --help\tPrint Help (this 
 msgstr "-h ou --help\t\tAfficher l'aide (ce message) puis quitter"
 
 msgid "--version\t\tPrint version information and exit"
-msgstr "--version\t\tAfficher les informations de version puis quitter"
+msgstr "--version\t\tAfficher les informations de version et quitter"
 
 msgid ""
 "\n"
 "Arguments recognised by gvim (Motif version):\n"
 msgstr ""
 "\n"
-"Arguments reconnus par gvim (version Motif):\n"
+"Arguments reconnus par gvim (version Motif) :\n"
 
 msgid ""
 "\n"
 "Arguments recognised by gvim (neXtaw version):\n"
 msgstr ""
 "\n"
-"Arguments reconnus par gvim (version neXtaw):\n"
+"Arguments reconnus par gvim (version neXtaw) :\n"
 
 msgid ""
 "\n"
-"Arguments recognised by gvim (Athena version):\n"
-msgstr ""
-"\n"
-"Arguments reconnus par gvim (version Athena):\n"
+"Arguments recognised by gvim (Athena version) :\n"
+msgstr ""
+"\n"
+"Arguments reconnus par gvim (version Athena) :\n"
 
 msgid "-display <display>\tRun vim on <display>"
-msgstr "-display <écran>\tLancer Vim sur cet <écran>"
+msgstr "-display <écran>\tLancer Vim sur ce <display>"
 
 msgid "-iconic\t\tStart vim iconified"
 msgstr "-iconic\t\tIconifier Vim au démarrage"
@@ -2826,17 +3327,18 @@ msgid "-name <name>\t\tUse resource as i
 msgstr "-name <nom>\t\tEmployer les ressources comme si Vim s'appelait <nom>"
 
 msgid "\t\t\t  (Unimplemented)\n"
-msgstr "\t\t\t  (pas implémenté)\n"
+msgstr "\t\t\t  (non implémenté)\n"
 
 msgid "-background <color>\tUse <color> for the background (also: -bg)"
-msgstr "-background <coul>\tUtiliser <couleur> pour l'arrière-plan\t    (abrv: -bg)"
+msgstr ""
+"-background <coul>\tUtiliser <couleur> pour l'arrière-plan\t   (abrv : -bg)"
 
 msgid "-foreground <color>\tUse <color> for normal text (also: -fg)"
 msgstr ""
-"-foreground <coul>\tUtiliser <couleur> pour le texte normal\t    (abrv: -fg)"
+"-foreground <coul>\tUtiliser <couleur> pour le texte normal\t   (abrv : -fg)"
 
 msgid "-font <font>\t\tUse <font> for normal text (also: -fn)"
-msgstr "-font <fonte>\tUtiliser <fonte> pour le texte normal\t    (abrv: -fn)"
+msgstr "-font <fonte>\tUtiliser <fonte> pour le texte normal\t   (abrv : -fn)"
 
 msgid "-boldfont <font>\tUse <font> for bold text"
 msgstr "-boldfont <fonte>\tUtiliser <fonte> pour le texte gras"
@@ -2845,22 +3347,24 @@ msgid "-italicfont <font>\tUse <font> fo
 msgstr "-italicfont <fonte>\tUtiliser <fonte> pour le texte italique"
 
 msgid "-geometry <geom>\tUse <geom> for initial geometry (also: -geom)"
-msgstr "-geometry <géom>\tUtiliser cette <géométrie> initiale\t  (abrv: -geom)"
+msgstr "-geometry <géom>\tUtiliser cette <géométrie> initiale\t (abrv : -geom)"
 
 msgid "-borderwidth <width>\tUse a border width of <width> (also: -bw)"
-msgstr "-borderwidth <épais>\tUtiliser cette <épaisseur> de bordure\t    (abrv: -bw)"
+msgstr ""
+"-borderwidth <épais>\tUtiliser cette <épaisseur> de bordure\t   (abrv : -bw)"
 
 msgid "-scrollbarwidth <width>  Use a scrollbar width of <width> (also: -sw)"
-msgstr "-scrollbarwidth <lg>\tUtiliser cette <largeur> de barre de défil. (abrv: -sw)"
+msgstr ""
+"-scrollbarwidth <lg>\tUtiliser cette <largeur> de barre de défil. (abrv: -sw)"
 
 msgid "-menuheight <height>\tUse a menu bar height of <height> (also: -mh)"
-msgstr "-menuheight <haut>\tUtiliser cette <hauteur> de menu\t    (abrv: -mh)"
+msgstr "-menuheight <haut>\tUtiliser cette <hauteur> de menu\t   (abrv : -mh)"
 
 msgid "-reverse\t\tUse reverse video (also: -rv)"
-msgstr "-reverse\t\tUtiliser la vidéo inversée\t\t    (abrv: -rv)"
+msgstr "-reverse\t\tUtiliser la vidéo inverse\t\t   (abrv : -rv)"
 
 msgid "+reverse\t\tDon't use reverse video (also: +rv)"
-msgstr "+reverse\t\tNe pas utiliser de vidéo inversée\t    (abrv: +rv)"
+msgstr "+reverse\t\tNe pas utiliser de vidéo inverse\t   (abrv : +rv)"
 
 msgid "-xrm <resource>\tSet the specified resource"
 msgstr "-xrm <ressource>\tConfigurer la <ressource> spécifiée"
@@ -2870,7 +3374,7 @@ msgid ""
 "Arguments recognised by gvim (RISC OS version):\n"
 msgstr ""
 "\n"
-"Arguments reconnus par gvim (version RISC OS):\n"
+"Arguments reconnus par gvim (version RISC OS) :\n"
 
 msgid "--columns <number>\tInitial width of window in columns"
 msgstr "--columns <nombre>\tNombre de colonnes initial de la fenêtre"
@@ -2883,24 +3387,24 @@ msgid ""
 "Arguments recognised by gvim (GTK+ version):\n"
 msgstr ""
 "\n"
-"Arguments reconnus par gvim (version GTK+):\n"
+"Arguments reconnus par gvim (version GTK+) :\n"
 
 msgid "-display <display>\tRun vim on <display> (also: --display)"
-msgstr "-display <écran>\tLancer Vim sur cet <écran>\t (également: --display)"
+msgstr ""
+"-display <display>\tLancer Vim sur ce <display>\t(également : --display)"
 
 msgid "--role <role>\tSet a unique role to identify the main window"
 msgstr ""
-"--role <rôle>\t\tEndosse un rôle unique pour identifier la fenêtre principale"
+"--role <rôle>\tDonner un rôle pour identifier la fenêtre principale"
 
 msgid "--socketid <xid>\tOpen Vim inside another GTK widget"
 msgstr "--socketid <xid>\tOuvrir Vim dans un autre widget GTK"
 
-msgid "--help\t\tShow Gnome arguments"
-msgstr "--help\t\tAfficher les arguments GNOME"
-
-# TODO
+msgid "-P <parent title>\tOpen Vim inside parent application"
+msgstr "-P <titre parent>\tOuvrir Vim dans une application parente"
+
 msgid "No display"
-msgstr "Pas de display"
+msgstr "Aucun display"
 
 #. Failed to send, abort.
 msgid ": Send failed.\n"
@@ -2912,17 +3416,16 @@ msgstr ": L'envoi a échoué. Tentative d'exécution locale\n"
 
 #, c-format
 msgid "%d of %d edited"
-msgstr "%d de %d édités"
-
-# TODO
+msgstr "%d édités sur %d"
+
 msgid "No display: Send expression failed.\n"
-msgstr "Pas de display: L'envoi de l'expression a échoué.\n"
+msgstr "Aucun display : L'envoi de l'expression a échoué.\n"
 
 msgid ": Send expression failed.\n"
 msgstr ": L'envoi de l'expression a échoué.\n"
 
 msgid "No marks set"
-msgstr "Aucune marque activée"
+msgstr "Aucune marque positionnée"
 
 #, c-format
 msgid "E283: No marks matching \"%s\""
@@ -2944,57 +3447,68 @@ msgstr ""
 "\n"
 " saut ligne col fichier/texte"
 
+#. Highlight title
+msgid ""
+"\n"
+"change line  col text"
+msgstr ""
+"\n"
+"modif  ligne col fichier/texte"
+
+#, c-format
 msgid ""
 "\n"
 "# File marks:\n"
 msgstr ""
 "\n"
-"# Marques dans le fichier:\n"
-
-# TODO
+"# Marques dans le fichier :\n"
+
 #. Write the jumplist with -'
+#, c-format
 msgid ""
 "\n"
 "# Jumplist (newest first):\n"
 msgstr ""
 "\n"
-"# List de saut (le plus récent en premier):\n"
-
+"# Liste de sauts (le plus récent en premier) :\n"
+
+#, c-format
 msgid ""
 "\n"
 "# History of marks within files (newest to oldest):\n"
 msgstr ""
 "\n"
-"# Historique des marques dans les fichiers (chronologie décroissante):\n"
+"# Historique des marques dans les fichiers (les plus récentes en premier) :\n"
 
 msgid "Missing '>'"
 msgstr "'>' manquant"
 
 msgid "E543: Not a valid codepage"
-msgstr "E543: Pas une page de codes valable"
+msgstr "E543: Page de codes non valide"
 
 msgid "E284: Cannot set IC values"
 msgstr "E284: Impossible de régler les valeurs IC"
 
 msgid "E285: Failed to create input context"
-msgstr "E285: Erreur de création du contexte de saisie"
+msgstr "E285: Échec de la création du contexte de saisie"
 
 msgid "E286: Failed to open input method"
-msgstr "E286: Erreur d'ouverture de la méthode de saisie"
-
-# TODO
+msgstr "E286: Échec de l'ouverture de la méthode de saisie"
+
 msgid "E287: Warning: Could not set destroy callback to IM"
-msgstr "E287: Alerte: Pas pu établir d'appel de destruction dans la MS"
+msgstr ""
+"E287: Alerte: Impossible d'inscrire la callback de destruction dans la MS"
 
 msgid "E288: input method doesn't support any style"
 msgstr "E288: la méthode de saisie ne supporte aucun style"
 
 msgid "E289: input method doesn't support my preedit type"
-msgstr "E289: la méthode de saisie ne supporte pas mon type de préédition"
-
-# TODO
+msgstr ""
+"E289: le type de préédition de Vim n'est pas supporté par la méthode de saisie"
+
+# DB - todo
 msgid "E290: over-the-spot style requires fontset"
-msgstr "E290: le style over-the-spot nécessite un fontset"
+msgstr "E290: le style over-the-spot nécessite un jeu de polices"
 
 msgid "E291: Your GTK+ is older than 1.2.3. Status area disabled"
 msgstr "E291: Votre GTK+ est plus ancien que 1.2.3. Zone d'état désactivée"
@@ -3003,7 +3517,7 @@ msgid "E292: Input Method Server is not 
 msgstr "E292: Le Serveur de Méthodes de Saisie n'est pas lancé"
 
 msgid "E293: block was not locked"
-msgstr "E293: le bloc n'était pas verouillé"
+msgstr "E293: le bloc n'était pas verrouillé"
 
 msgid "E294: Seek error in swap file read"
 msgstr "E294: Erreur de positionnement lors de la lecture du fichier d'échange"
@@ -3021,52 +3535,52 @@ msgid "E300: Swap file already exists (s
 msgstr "E300: Le fichier d'échange existe déjà (attaque par symlink ?)"
 
 msgid "E298: Didn't get block nr 0?"
-msgstr "E298: Pas récupéré le bloc n°0 ?"
+msgstr "E298: Bloc n°0 non récupéré ?"
 
 msgid "E298: Didn't get block nr 1?"
-msgstr "E298: Pas récupéré le bloc n°1 ?"
+msgstr "E298: Bloc n°1 non récupéré ?"
 
 msgid "E298: Didn't get block nr 2?"
-msgstr "E298: Pas récupéré le bloc n°2 ?"
+msgstr "E298: Bloc n°2 non récupéré ?"
 
 #. could not (re)open the swap file, what can we do????
 msgid "E301: Oops, lost the swap file!!!"
-msgstr "E301: Oups, on a perdu le fichier d'échange !"
+msgstr "E301: Oups, le fichier d'échange a disparu !"
 
 msgid "E302: Could not rename swap file"
-msgstr "E302: Pas pu renommer le fichier d'échange"
+msgstr "E302: Impossible de renommer le fichier d'échange"
 
 #, c-format
 msgid "E303: Unable to open swap file for \"%s\", recovery impossible"
-msgstr "E303: Pas pu ouvrir fichier .swp pour \"%s\", récup. impossible"
-
-msgid "E304: ml_timestamp: Didn't get block 0??"
-msgstr "E304: ml_timestamp: Pas récupéré le bloc 0 ?!"
+msgstr "E303: Impossible d'ouvrir fichier .swp pour \"%s\", récup. impossible"
+
+msgid "E304: ml_upd_block0(): Didn't get block 0??"
+msgstr "E304: ml_upd_block0(): bloc 0 non récupéré ?!"
 
 #, c-format
 msgid "E305: No swap file found for %s"
-msgstr "E305: Pas de fichier d'échange trouvé pour %s"
+msgstr "E305: Aucun fichier d'échange trouvé pour %s"
 
 msgid "Enter number of swap file to use (0 to quit): "
-msgstr "Entre le numéro du fichier d'échange à utiliser (0 pour quitter): "
+msgstr "Entrez le numéro du fichier d'échange à utiliser (0 pour quitter) : "
 
 #, c-format
 msgid "E306: Cannot open %s"
-msgstr "E306: Ne peut ouvrir %s"
+msgstr "E306: Impossible d'ouvrir %s"
 
 msgid "Unable to read block 0 from "
-msgstr "Incapable de lire le bloc 0 de "
-
-# TODO
+msgstr "Impossible de lire le bloc 0 de "
+
 msgid ""
 "\n"
 "Maybe no changes were made or Vim did not update the swap file."
 msgstr ""
 "\n"
-"Peut-être qu'aucune modif. n'a été faite ou Vim n'a pas mis à jour le fichier d'échange."
+"Il est possible qu'aucune modif. n'a été faite ou que Vim n'a pas mis à jour "
+" le fichier d'échange."
 
 msgid " cannot be used with this version of Vim.\n"
-msgstr " ne peut être utilisé avec cette version de Vim.\n"
+msgstr " ne peut pas être utilisé avec cette version de Vim.\n"
 
 msgid "Use Vim version 3.0.\n"
 msgstr "Utilisez Vim version 3.0.\n"
@@ -3076,7 +3590,7 @@ msgid "E307: %s does not look like a Vim
 msgstr "E307: %s ne semble pas être un fichier d'échange de Vim"
 
 msgid " cannot be used on this computer.\n"
-msgstr " ne peut être utilisé sur cet ordinateur.\n"
+msgstr " ne peut pas être utilisé sur cet ordinateur.\n"
 
 msgid "The file was created on "
 msgstr "Le fichier a été créé le "
@@ -3097,14 +3611,14 @@ msgid "Original file \"%s\""
 msgstr "Fichier original \"%s\""
 
 msgid "E308: Warning: Original file may have been changed"
-msgstr "E308: Alerte: Le fichier original a pu être changé"
+msgstr "E308: Alerte: Le fichier original a pu être modifié"
 
 #, c-format
 msgid "E309: Unable to read block 1 from %s"
-msgstr "E309: Incapable de lire le bloc 1 de %s"
+msgstr "E309: Impossible de lire le bloc 1 de %s"
 
 msgid "???MANY LINES MISSING"
-msgstr "???BEAUCOUP DE LIGNES MANQUENT"
+msgstr "???DE NOMBREUSES LIGNES MANQUENT"
 
 msgid "???LINE COUNT WRONG"
 msgstr "???NOMBRE DE LIGNES ERRONÉ"
@@ -3117,7 +3631,7 @@ msgstr "???LIGNES MANQUANTES"
 
 #, c-format
 msgid "E310: Block 1 ID wrong (%s not a .swp file?)"
-msgstr "E310: ID du bloc 1 erronée (%s n'est pas un fichier d'échange ?)"
+msgstr "E310: ID du bloc 1 erroné (%s n'est pas un fichier d'échange ?)"
 
 msgid "???BLOCK MISSING"
 msgstr "???BLOC MANQUANT"
@@ -3126,7 +3640,7 @@ msgid "??? from here until ???END lines 
 msgstr "??? d'ici jusqu'à ???FIN des lignes peuvent être corrompues"
 
 msgid "??? from here until ???END lines may have been inserted/deleted"
-msgstr "??? d'ici jusqu'à ???FIN des lignes ont pu être insérée/effacées"
+msgstr "??? d'ici jusqu'à ???FIN des lignes ont pu être insérées/effacées"
 
 msgid "???END"
 msgstr "???FIN"
@@ -3136,10 +3650,14 @@ msgstr "E311: Récupération interrompue"
 
 msgid ""
 "E312: Errors detected while recovering; look for lines starting with ???"
-msgstr "E312: Erreurs lors de la récupération; examinez les lignes commençant par ???"
+msgstr ""
+"E312: Erreurs lors de la récupération ; examinez les lignes commençant par ???"
+
+msgid "See \":help E312\" for more information."
+msgstr "Consultez \":help E312\" pour plus d'information."
 
 msgid "Recovery completed. You should check if everything is OK."
-msgstr "Récupération achevée. Vérifiez si tout est OK."
+msgstr "Récupération achevée. Vérifiez que tout est correct."
 
 msgid ""
 "\n"
@@ -3149,24 +3667,25 @@ msgstr ""
 "(Vous voudrez peut-être enregistrer ce fichier sous un autre nom\n"
 
 msgid "and run diff with the original file to check for changes)\n"
-msgstr "et lancer diff avec le fichier original pour repérer les changements)\n"
+msgstr ""
+"et lancer diff avec le fichier original pour repérer les changements)\n"
 
 msgid ""
 "Delete the .swp file afterwards.\n"
 "\n"
 msgstr ""
-"Effacez le fichier .swp ensuite.\n"
+"Effacez ensuite le fichier .swp.\n"
 "\n"
 
 #. use msg() to start the scrolling properly
 msgid "Swap files found:"
-msgstr "Fichiers d'échange trouvés:"
+msgstr "Fichiers d'échange trouvés :"
 
 msgid "   In current directory:\n"
-msgstr "   Dans le répertoire courant:\n"
+msgstr "   Dans le répertoire courant :\n"
 
 msgid "   Using specified name:\n"
-msgstr "Utilisant le nom indiqué:\n"
+msgstr "Utilisant le nom indiqué :\n"
 
 msgid "   In directory "
 msgstr "   Dans le répertoire "
@@ -3175,13 +3694,13 @@ msgid "      -- none --\n"
 msgstr "     -- aucun --\n"
 
 msgid "          owned by: "
-msgstr "      propriété de: "
+msgstr "      propriété de : "
 
 msgid "   dated: "
-msgstr "    daté: "
+msgstr "    daté : "
 
 msgid "             dated: "
-msgstr "              daté: "
+msgstr "              daté : "
 
 msgid "         [from Vim version 3.0]"
 msgstr "         [de Vim version 3.0]"
@@ -3190,14 +3709,14 @@ msgid "         [does not look like a Vi
 msgstr "         [ne semble pas être un fichier d'échange Vim]"
 
 msgid "         file name: "
-msgstr "    nom de fichier: "
+msgstr "    nom de fichier : "
 
 msgid ""
 "\n"
 "          modified: "
 msgstr ""
 "\n"
-"           modifié: "
+"           modifié : "
 
 msgid "YES"
 msgstr "OUI"
@@ -3210,24 +3729,24 @@ msgid ""
 "         user name: "
 msgstr ""
 "\n"
-" nom d'utilisateur: "
+" nom d'utilisateur : "
 
 msgid "   host name: "
-msgstr "   nom d'hôte: "
+msgstr "   nom d'hôte : "
 
 msgid ""
 "\n"
 "         host name: "
 msgstr ""
 "\n"
-"        nom d'hôte: "
+"        nom d'hôte : "
 
 msgid ""
 "\n"
 "        process ID: "
 msgstr ""
 "\n"
-"      processus n°: "
+"      processus n° : "
 
 msgid " (still running)"
 msgstr " (en cours d'exécution)"
@@ -3258,13 +3777,12 @@ msgstr "E313: Préservation impossible, il n'y a pas de fichier d'échange"
 msgid "File preserved"
 msgstr "Fichier préservé"
 
-# todo
 msgid "E314: Preserve failed"
 msgstr "E314: Échec de la préservation"
 
 #, c-format
 msgid "E315: ml_get: invalid lnum: %ld"
-msgstr "E315: ml_get: lnum invalide: %ld"
+msgstr "E315: ml_get: numéro de ligne invalide : %ld"
 
 #, c-format
 msgid "E316: ml_get: cannot find line %ld"
@@ -3279,7 +3797,6 @@ msgstr "stack_idx devrait être 0"
 msgid "E318: Updated too many blocks?"
 msgstr "E318: Trop de blocs mis à jour ?"
 
-# todo
 msgid "E317: pointer block id wrong 4"
 msgstr "E317: mauvais id de pointeur de bloc 4"
 
@@ -3290,17 +3807,15 @@ msgstr "bloc 1 effacé ?"
 msgid "E320: Cannot find line %ld"
 msgstr "E320: Ligne %ld introuvable"
 
-# todo
 msgid "E317: pointer block id wrong"
 msgstr "E317: mauvais id de pointeur de bloc"
 
 msgid "pe_line_count is zero"
 msgstr "pe_line_count vaut zéro"
 
-# todo dela delà
 #, c-format
 msgid "E322: line number out of range: %ld past the end"
-msgstr "E322: numéro de ligne hors limites: %ld au dela de la fin"
+msgstr "E322: numéro de ligne hors limites : %ld au-delà de la fin"
 
 #, c-format
 msgid "E323: line count wrong in block %ld"
@@ -3312,6 +3827,10 @@ msgstr "La taille de la pile s'accroît"
 msgid "E317: pointer block id wrong 2"
 msgstr "E317: mauvais id de pointeur de block 2"
 
+#, c-format
+msgid "E773: Symlink loop for \"%s\""
+msgstr "E773: cycle de liens symboliques avec \"%s\""
+
 msgid "E325: ATTENTION"
 msgstr "E325: ATTENTION"
 
@@ -3349,7 +3868,7 @@ msgid ""
 "(2) An edit session for this file crashed.\n"
 msgstr ""
 "\n"
-"(2) Une session d'édition pour ce fichier a planté.\n"
+"(2) Une session d'édition de ce fichier a planté.\n"
 
 msgid "    If this is the case, use \":recover\" or \"vim -r "
 msgstr "    Si c'est le cas, utilisez \":recover\" ou \"vim -r "
@@ -3359,7 +3878,7 @@ msgid ""
 "    to recover the changes (see \":help recovery\").\n"
 msgstr ""
 "\"\n"
-"    pour récupérer les changements (voir \":help recovery\").\n"
+"    pour récupérer le fichier (voir \":help recovery\").\n"
 
 msgid "    If you did this already, delete the swap file \""
 msgstr "    Si vous l'avez déjà fait, effacez le fichier d'échange \""
@@ -3387,50 +3906,54 @@ msgid ""
 "&Open Read-Only\n"
 "&Edit anyway\n"
 "&Recover\n"
-"&Quit"
-msgstr ""
-"&Ouvrir en lecture seule\n"
-"&Editer quand même\n"
-"&Récupérer\n"
-"&Quitter"
-
-msgid ""
-"&Open Read-Only\n"
-"&Edit anyway\n"
-"&Recover\n"
 "&Quit\n"
-"&Delete it"
+"&Abort"
 msgstr ""
 "&Ouvrir en lecture seule\n"
 "&Editer quand même\n"
 "&Récupérer\n"
 "&Quitter\n"
-"Le &supprimer"
+"&Abandonner"
+
+msgid ""
+"&Open Read-Only\n"
+"&Edit anyway\n"
+"&Recover\n"
+"&Delete it\n"
+"&Quit\n"
+"&Abort"
+msgstr ""
+"&Ouvrir en lecture seule\n"
+"&Editer quand même\n"
+"&Récupérer\n"
+"Le &supprimer\n"
+"&Quitter\n"
+"&Abandonner"
 
 msgid "E326: Too many swap files found"
 msgstr "E326: Trop de fichiers d'échange trouvés"
 
 msgid "E327: Part of menu-item path is not sub-menu"
-msgstr "E327: Une partie du chemin d'éléments de menu n'est pas un sous-menu"
-
+msgstr "E327: Une partie du chemin de l'élément de menu n'est pas un sous-menu"
+
+# DB - todo : J'hésite avec
+#      msgstr "E328: Le menu n'existe pas dans ce mode"
 msgid "E328: Menu only exists in another mode"
 msgstr "E328: Le menu n'existe que dans un autre mode"
 
-msgid "E329: No menu of that name"
-msgstr "E329: Pas de menu de ce nom"
+#, c-format
+msgid "E329: No menu \"%s\""
+msgstr "E329: Aucun menu \"%s\""
 
 msgid "E330: Menu path must not lead to a sub-menu"
 msgstr "E330: Le chemin de menu ne doit pas conduire à un sous-menu"
 
-# todo
 msgid "E331: Must not add menu items directly to menu bar"
-msgstr "E331: Ajout d'éléments directement dans barre de menu interdit"
+msgstr "E331: Ajout d'éléments de menu directement dans barre de menu interdit"
 
 msgid "E332: Separator cannot be part of a menu path"
 msgstr "E332: Un séparateur ne peut faire partie d'un chemin de menu"
 
-#. Now we have found the matching menu, and we list the mappings
-#. Highlight title
 msgid ""
 "\n"
 "--- Menus ---"
@@ -3439,60 +3962,57 @@ msgstr ""
 "--- Menus ---"
 
 msgid "Tear off this menu"
-msgstr "Arracher ce menu"
+msgstr "Détacher ce menu"
 
 msgid "E333: Menu path must lead to a menu item"
 msgstr "E333: Le chemin du menu doit conduire à un élément de menu"
 
 #, c-format
 msgid "E334: Menu not found: %s"
-msgstr "E334: Menu introuvable: %s"
+msgstr "E334: Menu introuvable : %s"
 
 #, c-format
 msgid "E335: Menu not defined for %s mode"
 msgstr "E335: Le menu n'est pas défini pour le mode %s"
 
-# todo
 msgid "E336: Menu path must lead to a sub-menu"
 msgstr "E336: Le chemin du menu doit conduire à un sous-menu"
 
 msgid "E337: Menu not found - check menu names"
 msgstr "E337: Menu introuvable - vérifiez les noms des menus"
 
-# todo
 #, c-format
 msgid "Error detected while processing %s:"
-msgstr "Erreur détectée en traitant %s:"
+msgstr "Erreur détectée en traitant %s :"
 
 #, c-format
 msgid "line %4ld:"
-msgstr "ligne %4ld:"
-
-msgid "[string too long]"
-msgstr "[chaîne trop longue]"
-
-# todo
+msgstr "ligne %4ld :"
+
+#, c-format
+msgid "E354: Invalid register name: '%s'"
+msgstr "E354: Nom de registre invalide : '%s'"
+
+# DB - todo : mettre à jour ?
 msgid "Messages maintainer: Bram Moolenaar <Bram@vim.org>"
-msgstr "Mainteneur des messages: Adrien Beau <version.francaise@free.fr>"
+msgstr "Mainteneur des messages : Adrien Beau <version.francaise@free.fr>"
 
 msgid "Interrupt: "
-msgstr "Interruption: "
-
-msgid "Hit ENTER to continue"
-msgstr "Appuyez sur ENTRÉE pour continuer"
-
-msgid "Hit ENTER or type command to continue"
+msgstr "Interruption : "
+
+msgid "Press ENTER or type command to continue"
 msgstr "Appuyez sur ENTRÉE ou tapez une commande pour continuer"
 
+#, c-format
+msgid "%s line %ld"
+msgstr "%s, ligne %ld"
+
 msgid "-- More --"
 msgstr "-- Plus --"
 
-# TODO
-msgid " (RET/BS: line, SPACE/b: page, d/u: half page, q: quit)"
-msgstr " (ENTR/RA: ligne, ESPCE/b: page, d/u: demi page, q: quitte)"
-
-msgid " (RET: line, SPACE: page, d: half page, q: quit)"
-msgstr " (ENTR: ligne, ESPCE: page, d: demi page, q: quitte)"
+msgid " SPACE/d/j: screen/page/line down, b/u/k: up, q: quit "
+msgstr ""
+"ESPACE/d/j : écran/page/ligne vers le bas, b/u/k : vers le haut, q : quitter"
 
 msgid "Question"
 msgstr "Question"
@@ -3504,7 +4024,6 @@ msgstr ""
 "&Oui\n"
 "&Non"
 
-# todo
 msgid ""
 "&Yes\n"
 "&No\n"
@@ -3514,26 +4033,39 @@ msgid ""
 msgstr ""
 "&Oui\n"
 "&Non\n"
-"Tout &sauver\n"
-"Tout &rejeter\n"
+"Tout &enregistrer\n"
+"Tout aban&donner\n"
 "&Annuler"
 
-# todo
+# DB : Les trois messages qui suivent sont des titres de boîtes
+#      de dialogue par défaut.
+msgid "Select Directory dialog"
+msgstr "Sélecteur de répertoire"
+
 msgid "Save File dialog"
-msgstr "Boîte de dialogue 'Enregistrer'"
-
-# todo
+msgstr "Enregistrer un fichier"
+
 msgid "Open File dialog"
-msgstr "Boîte de dialogue 'Ouvrir'"
-
-# TODO
-#. TODO: non-GUI file selector here
+msgstr "Ouvrir un fichier"
+
 msgid "E338: Sorry, no file browser in console mode"
-msgstr "E338: Désolé, pas d'explorateur de fichiers en mode console"
+msgstr "E338: Désolé, pas de sélecteur de fichiers en mode console"
+
+msgid "E766: Insufficient arguments for printf()"
+msgstr "E766: Pas assez d'arguments pour printf()"
+
+msgid "E767: Too many arguments to printf()"
+msgstr "E767: Trop d'arguments pour printf()"
 
 msgid "W10: Warning: Changing a readonly file"
 msgstr "W10: Alerte: Modification d'un fichier en lecture seule"
 
+msgid "Type number or click with mouse (<Enter> cancels): "
+msgstr "Tapez un nombre ou cliquez avec la souris (<Entrée> annule) :"
+
+msgid "Choice number (<Enter> cancels): "
+msgstr "Tapez un nombre (<Entrée> annule) :"
+
 msgid "1 more line"
 msgstr "1 ligne en plus"
 
@@ -3551,13 +4083,16 @@ msgstr "%ld lignes en moins"
 msgid " (Interrupted)"
 msgstr " (Interrompu)"
 
+msgid "Beep!"
+msgstr "Bip !"
+
 msgid "Vim: preserving files...\n"
 msgstr "Vim: préservation des fichiers...\n"
 
-#. close all memfiles, without deleting
 msgid "Vim: Finished.\n"
 msgstr "Vim: Fini.\n"
 
+#, c-format
 msgid "ERROR: "
 msgstr "ERREUR: "
 
@@ -3578,40 +4113,40 @@ msgstr ""
 "\n"
 
 msgid "E340: Line is becoming too long"
-msgstr "E340: La ligne devient trop lingue"
+msgstr "E340: La ligne devient trop longue"
 
 #, c-format
 msgid "E341: Internal error: lalloc(%ld, )"
-msgstr "E341: Erreur interne: lalloc(%ld, )"
+msgstr "E341: Erreur interne : lalloc(%ld, )"
 
 #, c-format
 msgid "E342: Out of memory!  (allocating %lu bytes)"
-msgstr "E342: Mémoire épuisée !  (allocation de %lu octets)"
+msgstr "E342: Mémoire épuisée ! (allocation de %lu octets)"
 
 #, c-format
 msgid "Calling shell to execute: \"%s\""
-msgstr "Appel du shell pour exécuter: \"%s\""
+msgstr "Appel du shell pour exécuter : \"%s\""
 
 msgid "E545: Missing colon"
-msgstr "E545: Deux-points manquant"
+msgstr "E545: ':' manquant"
 
 msgid "E546: Illegal mode"
-msgstr "E546: Mode illégal"
+msgstr "E546: Mode non autorisé"
 
 msgid "E547: Illegal mouseshape"
-msgstr "E547: Forme de curseur illégale"
+msgstr "E547: Forme de curseur invalide"
 
 msgid "E548: digit expected"
 msgstr "E548: chiffre attendu"
 
 msgid "E549: Illegal percentage"
-msgstr "E549: Pourcentage illégal"
+msgstr "E549: Pourcentage non autorisé"
 
 msgid "Enter encryption key: "
-msgstr "Tapez la clé d'encodage: "
+msgstr "Tapez la clé de chiffrement : "
 
 msgid "Enter same key again: "
-msgstr "Réentrez la même clé: "
+msgstr "Tapez la clé à nouveau : "
 
 msgid "Keys don't match!"
 msgstr "Les clés ne correspondent pas !"
@@ -3620,68 +4155,87 @@ msgstr "Les clés ne correspondent pas !"
 msgid ""
 "E343: Invalid path: '**[number]' must be at the end of the path or be "
 "followed by '%s'."
-msgstr "E343: Chemin invalide: '**[nombre]' doit être à la fin du chemin ou être suivi de '%s'."
+msgstr ""
+"E343: Chemin invalide : '**[nombre]' doit être à la fin du chemin ou être "
+"suivi de '%s'."
 
 #, c-format
 msgid "E344: Can't find directory \"%s\" in cdpath"
-msgstr "E344: Répertoire \"%s\" introuvable dans le cdpath"
+msgstr "E344: Répertoire \"%s\" introuvable dans 'cdpath'"
 
 #, c-format
 msgid "E345: Can't find file \"%s\" in path"
-msgstr "E345: Fichier \"%s\" introuvable dans le chemin"
-
-# todo
+msgstr "E345: Fichier \"%s\" introuvable dans 'path'"
+
 #, c-format
 msgid "E346: No more directory \"%s\" found in cdpath"
-msgstr "E346: Plus de répertoire \"%s\" dans le cdpath"
+msgstr "E346: Plus de répertoire \"%s\" dans 'cdpath'"
 
 #, c-format
 msgid "E347: No more file \"%s\" found in path"
-msgstr "E347: Plus de fichier \"%s\" dans le chemin"
-
-msgid "E550: Missing colon"
-msgstr "E550: Deux-points manquant"
-
-msgid "E551: Illegal component"
-msgstr "E551: Composant illégal"
-
-msgid "E552: digit expected"
-msgstr "E552: chiffre attendu"
-
-#. Get here when the server can't be found.
+msgstr "E347: Plus de fichier \"%s\" dans 'path'"
+
 msgid "Cannot connect to Netbeans #2"
 msgstr "Impossible de se connecter à Netbeans n°2"
 
 msgid "Cannot connect to Netbeans"
 msgstr "Impossible de se connecter à Netbeans"
 
-# TODO
+#, c-format
+msgid "E668: Wrong access mode for NetBeans connection info file: \"%s\""
+msgstr ""
+"E668: Mode d'accès incorrect au fichier d'infos de connexion NetBeans : \"%s\""
+
+# DB : message d'un appel à perror().
 msgid "read from Netbeans socket"
-msgstr "lu en provenance du socket Netbeans"
-
+msgstr "read sur la socket Netbeans"
+
+#, c-format
+msgid "E658: NetBeans connection lost for buffer %ld"
+msgstr "E658: Connexion NetBeans perdue pour le tampon %ld"
+
+msgid "E505: "
+msgstr "E505: "
+
+msgid "E774: 'operatorfunc' is empty"
+msgstr "E774: 'operatorfunc' est vide"
+
+msgid "E775: Eval feature not available"
+msgstr "E775: La fonctionnalité d'évaluation n'est pas disponible"
+
+# DB : Il est ici question du mode Visuel.
 msgid "Warning: terminal cannot highlight"
-msgstr "Alerte: le terminal ne peut surligner"
+msgstr "Alerte: le terminal ne peut pas surligner"
 
 msgid "E348: No string under cursor"
-msgstr "E348: Pas de chaîne sous le curseur"
+msgstr "E348: Aucune chaîne sous le curseur"
 
 msgid "E349: No identifier under cursor"
-msgstr "E349: Pas d'identifiant sous le curseur"
+msgstr "E349: Aucun identifiant sous le curseur"
 
 msgid "E352: Cannot erase folds with current 'foldmethod'"
-msgstr "E352: Les replis ne peuvent être effacés avec la 'foldmethod' actuelle"
-
-# TODO
+msgstr "E352: Impossible d'effacer des replis avec la 'foldmethod'e actuelle"
+
+msgid "E664: changelist is empty"
+msgstr "E664: La liste des modifications (changelist) est vide"
+
+msgid "E662: At start of changelist"
+msgstr "E662: Au début de la liste des modifications"
+
+msgid "E663: At end of changelist"
+msgstr "E663: À la fin de la liste des modifications"
+
+msgid "Type  :quit<Enter>  to exit Vim"
+msgstr "tapez  :q<Entrée>  pour quitter Vim"
+
 #, c-format
 msgid "1 line %sed 1 time"
 msgstr "1 ligne %sée 1 fois"
 
-# TODO
 #, c-format
 msgid "1 line %sed %d times"
 msgstr "1 ligne %sée %d fois"
 
-# TODO
 #, c-format
 msgid "%ld lines %sed 1 time"
 msgstr "%ld lignes %sées 1 fois"
@@ -3701,9 +4255,12 @@ msgstr "1 ligne indentée "
 msgid "%ld lines indented "
 msgstr "%ld lignes indentées "
 
-#. must display the prompt
+msgid "E748: No previously used register"
+msgstr "E748: Aucun registre n'a été précédemment utilisé"
+
+# DB - Question O/N.
 msgid "cannot yank; delete anyway"
-msgstr "copie impossible; effacement en tout cas"
+msgstr "impossible de réaliser une copie ; effacer tout de même"
 
 msgid "1 line changed"
 msgstr "1 ligne modifiée"
@@ -3716,10 +4273,17 @@ msgstr "%ld lignes modifiées"
 msgid "freeing %ld lines"
 msgstr "libération de %ld lignes"
 
+msgid "block of 1 line yanked"
+msgstr "bloc de 1 ligne copié"
+
 msgid "1 line yanked"
 msgstr "1 ligne copiée"
 
 #, c-format
+msgid "block of %ld lines yanked"
+msgstr "bloc de %ld lignes copié"
+
+#, c-format
 msgid "%ld lines yanked"
 msgstr "%ld lignes copiées"
 
@@ -3727,7 +4291,6 @@ msgstr "%ld lignes copiées"
 msgid "E353: Nothing in register %s"
 msgstr "E353: Le registre %s est vide"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Registers ---"
@@ -3736,36 +4299,49 @@ msgstr ""
 "--- Registres ---"
 
 msgid "Illegal register name"
-msgstr "Nom de registre illégal"
-
+msgstr "Nom de registre invalide"
+
+#, c-format
 msgid ""
 "\n"
 "# Registers:\n"
 msgstr ""
 "\n"
-"# Resgistres:\n"
+"# Resgistres :\n"
 
 #, c-format
 msgid "E574: Unknown register type %d"
 msgstr "E574: Type de registre %d inconnu"
 
 #, c-format
-msgid "E354: Invalid register name: '%s'"
-msgstr "E354: Nom de registre invalide: '%s'"
-
-#, c-format
 msgid "%ld Cols; "
-msgstr "%ld Cols; "
+msgstr "%ld Colonnes ; "
 
 #, c-format
 msgid "Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Bytes"
-msgstr "Sélectionné %s%ld de %ld Lignes; %ld de %ld Mots; %ld de %ld Octets"
+msgstr ""
+"%s%ld sur %ld Lignes ; %ld sur %ld Mots ; %ld sur %ld Octets sélectionnés"
+
+#, c-format
+msgid ""
+"Selected %s%ld of %ld Lines; %ld of %ld Words; %ld of %ld Chars; %ld of %ld "
+"Bytes"
+msgstr ""
+"%s%ld sur %ld Lignes ; %ld sur %ld Mots ; %ld sur %ld Caractères ; "
+"%ld sur %ld octets sélectionnés"
 
 #, c-format
 msgid "Col %s of %s; Line %ld of %ld; Word %ld of %ld; Byte %ld of %ld"
-msgstr "Col %s de %s; Ligne %ld de %ld; Mot %ld de %ld; Octet %ld de %ld"
-
-# todo
+msgstr ""
+"Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %ld sur %ld ; Octet %ld sur %ld"
+
+#, c-format
+msgid ""
+"Col %s of %s; Line %ld of %ld; Word %ld of %ld; Char %ld of %ld; Byte %ld of "
+"%ld"
+msgstr "Colonne %s sur %s ; Ligne %ld sur %ld ; Mot %ld sur %ld ; "
+"Caractère %ld sur %ld ; Octet %ld sur %ld"
+
 #, c-format
 msgid "(+%ld for BOM)"
 msgstr "(+%ld pour le BOM)"
@@ -3776,39 +4352,32 @@ msgstr "%<%f%h%m%=Page %N"
 msgid "Thanks for flying Vim"
 msgstr "Merci d'avoir choisi Vim"
 
+# DB - Espace final car Vim peut ajouter ": <informations>" à la suite
 msgid "E518: Unknown option"
-msgstr "E518: Option inconnue"
+msgstr "E518: Option inconnue "
 
 msgid "E519: Option not supported"
-msgstr "E519: Option pas supportée"
-
-# todo
+msgstr "E519: Option non supportée"
+
 msgid "E520: Not allowed in a modeline"
-msgstr "E520: Interdit dans une ligne de mode"
-
-# TODO
-msgid ""
-"\n"
-"\tLast set from "
-msgstr ""
-"\n"
-"\tRéglé récemment dans "
+msgstr "E520: Non autorisé dans une ligne de mode"
 
 msgid "E521: Number required after ="
 msgstr "E521: Nombre requis après ="
 
 msgid "E522: Not found in termcap"
-msgstr "E522: Pas trouvé dans termcap"
+msgstr "E522: Introuvable dans termcap"
 
 #, c-format
 msgid "E539: Illegal character <%s>"
-msgstr "E539: Caractère <%s> illégal"
+msgstr "E539: Caractère <%s> invalide"
 
 msgid "E529: Cannot set 'term' to empty string"
-msgstr "E529: 'term' ne peut pas être une chaîne vide"
+msgstr "E529: 'term' ne doit pas être une chaîne vide"
 
 msgid "E530: Cannot change term in GUI"
-msgstr "E530: Changement de term impossible dans l'interface graphique"
+msgstr ""
+"E530: Impossible de modifier term dans l'interface graphique"
 
 msgid "E531: Use \":gui\" to start the GUI"
 msgstr "E531: Utilisez \":gui\" pour démarrer l'interface graphique"
@@ -3817,10 +4386,10 @@ msgid "E589: 'backupext' and 'patchmode'
 msgstr "E589: 'backupext' et 'patchmode' sont égaux"
 
 msgid "E617: Cannot be changed in the GTK+ 2 GUI"
-msgstr "E617: Inchangeable dans l'interface GTK+ 2"
+msgstr "E617: Non modifiable dans l'interface graphique GTK+ 2"
 
 msgid "E524: Missing colon"
-msgstr "E524: Deux-points manquant"
+msgstr "E524: ':' manquant"
 
 msgid "E525: Zero length string"
 msgstr "E525: Chaîne de longueur nulle"
@@ -3835,30 +4404,27 @@ msgstr "E527: Virgule manquante"
 msgid "E528: Must specify a ' value"
 msgstr "E528: Une valeur ' doit être spécifiée"
 
-# todo
 msgid "E595: contains unprintable or wide character"
-msgstr "E595: contient des caractères multi-octets ou inaffichables"
+msgstr "E595: contient des caractères à largeur double non-imprimables"
 
 msgid "E596: Invalid font(s)"
-msgstr "E596: Fonte(s) invalide(s)"
+msgstr "E596: Police(s) invalide(s)"
 
 msgid "E597: can't select fontset"
-msgstr "E597: sélection de fontset impossible"
-
-# todo
+msgstr "E597: Impossible de sélectionner un jeu de polices"
+
 msgid "E598: Invalid fontset"
-msgstr "E598: Fontset invalide"
-
-# TODO
+msgstr "E598: Jeu de polices invalide"
+
 msgid "E533: can't select wide font"
-msgstr "E533: Sélection de fonte large impossible"
+msgstr "E533: Impossible de sélectionner une police à largeur double"
 
 msgid "E534: Invalid wide font"
-msgstr "E534: Fonte large invalide"
+msgstr "E534: Police à largeur double invalide"
 
 #, c-format
 msgid "E535: Illegal character after <%c>"
-msgstr "E535: Caractère illégal après <%c>"
+msgstr "E535: Caractère invalide après <%c>"
 
 msgid "E536: comma required"
 msgstr "E536: virgule requise"
@@ -3870,33 +4436,35 @@ msgstr "E537: 'commentstring' doit être vide ou contenir %s"
 msgid "E538: No mouse support"
 msgstr "E538: La souris n'est pas supportée"
 
-# todo
+# DB - Le code est sans ambiguïté sur le caractère manquant.
+#      À défaut d'une traduction valable, au moins comprend-on
+#      ce qui se passe.
 msgid "E540: Unclosed expression sequence"
-msgstr "E540: Séquence d'expression mal fermée"
+msgstr "E540: '}' manquant"
 
 msgid "E541: too many items"
 msgstr "E541: trop d'éléments"
 
 msgid "E542: unbalanced groups"
-msgstr "E542: groupes déséquilibrés"
+msgstr "E542: parenthèses non équilibrées"
 
 msgid "E590: A preview window already exists"
-msgstr "E590: Il y a déjà une fenêtre de prévisualisation"
+msgstr "E590: Il existe déjà une fenêtre de prévisualisation"
 
 msgid "W17: Arabic requires UTF-8, do ':set encoding=utf-8'"
-msgstr "W17: L'arabique requiert l'UTF-8, tapez ':set encoding=utf-8'"
+msgstr "W17: L'arabe requiert l'UTF-8, tapez ':set encoding=utf-8'"
 
 #, c-format
 msgid "E593: Need at least %d lines"
-msgstr "E593: Nécessite au moins %d lignes"
+msgstr "E593: Au moins %d lignes sont nécessaires"
 
 #, c-format
 msgid "E594: Need at least %d columns"
-msgstr "E594: Nécessite au moins %d colonnes"
+msgstr "E594: Au moins %d colonnes sont nécessaires"
 
 #, c-format
 msgid "E355: Unknown option: %s"
-msgstr "E355: Option inconnue: %s"
+msgstr "E355: Option inconnue : %s"
 
 msgid ""
 "\n"
@@ -3931,54 +4499,53 @@ msgstr "E356: ERREUR get_varp"
 
 #, c-format
 msgid "E357: 'langmap': Matching character missing for %s"
-msgstr "E357: 'langmap': Caractère correspondant manquant pour %s"
+msgstr "E357: 'langmap': Aucun caractère correspondant pour %s"
 
 #, c-format
 msgid "E358: 'langmap': Extra characters after semicolon: %s"
-msgstr "E358: 'langmap': Caractères surnuméraires après point-virgule: %s"
+msgstr "E358: 'langmap': Caractères surnuméraires après point-virgule : %s"
 
 msgid "cannot open "
-msgstr "ne peut ouvir "
+msgstr "impossible d'ouvrir "
 
 msgid "VIM: Can't open window!\n"
-msgstr "VIM: Ouverture de la fenêtre impossible !\n"
+msgstr "VIM: Impossible d'ouvrir la fenêtre !\n"
 
 msgid "Need Amigados version 2.04 or later\n"
-msgstr "Nécessite Amigados version 2.04 ou ultérieure\n"
+msgstr "Amigados version 2.04 ou ultérieure est nécessaire\n"
 
 #, c-format
 msgid "Need %s version %ld\n"
-msgstr "Nécessité %s version %ld\n"
+msgstr "%s version %ld est nécessaire\n"
 
 msgid "Cannot open NIL:\n"
-msgstr "Ne peut ouvrir NIL:\n"
+msgstr "Impossible d'ouvrir NIL :\n"
 
 msgid "Cannot create "
-msgstr "Ne peut créer "
+msgstr "Impossible de créer "
 
 #, c-format
 msgid "Vim exiting with %d\n"
-msgstr "Vim sort avec %d\n"
+msgstr "Vim quitte avec %d\n"
 
 msgid "cannot change console mode ?!\n"
-msgstr "changement du mode de console impossible ?!\n"
+msgstr "Impossible de modifier le mode de la console ?!\n"
 
 msgid "mch_get_shellsize: not a console??\n"
 msgstr "mch_get_shellsize: pas une console ?!\n"
 
 #. if Vim opened a window: Executing a shell may cause crashes
 msgid "E360: Cannot execute shell with -f option"
-msgstr "E360: Exécution de shell impossible avec l'option -f"
+msgstr "E360: Impossible d'exécuter un shell avec l'option -f"
 
 msgid "Cannot execute "
-msgstr "Ne peut exécuter "
-
-# todo
+msgstr "Impossible d'exécuter "
+
 msgid "shell "
-msgstr "shell "
+msgstr "le shell "
 
 msgid " returned\n"
-msgstr " retourné\n"
+msgstr " a été retourné\n"
 
 msgid "ANCHOR_BUF_SIZE too small."
 msgstr "ANCHOR_BUF_SIZE trop petit."
@@ -3989,87 +4556,85 @@ msgstr "ERREUR d'E/S"
 msgid "...(truncated)"
 msgstr "...(tronqué)"
 
+msgid "Message"
+msgstr "Message"
+
 msgid "'columns' is not 80, cannot execute external commands"
-msgstr "'columns' ne vaut pas 80, exécution de commandes externes impossible"
+msgstr ""
+"'columns' ne vaut pas 80, impossible d'exécuter des commandes externes"
 
 msgid "E237: Printer selection failed"
 msgstr "E237: La sélection de l'imprimante a échoué"
 
-# TODO
+# DB - Contenu des c-formats : Imprimante puis Port.
 #, c-format
 msgid "to %s on %s"
 msgstr "vers %s sur %s"
 
 #, c-format
 msgid "E613: Unknown printer font: %s"
-msgstr "E613: Fonte d'imprimante inconnue: %s"
+msgstr "E613: Police d'imprimante inconnue : %s"
 
 #, c-format
 msgid "E238: Print error: %s"
-msgstr "E238: Erreur d'impression: %s"
-
-msgid "Unknown"
-msgstr "Inconnu"
+msgstr "E238: Erreur d'impression : %s"
 
 #, c-format
 msgid "Printing '%s'"
 msgstr "Impression de '%s'"
 
-# todo
 #, c-format
 msgid "E244: Illegal charset name \"%s\" in font name \"%s\""
-msgstr "E244: Nom de jeu de carac. \"%s\" illégal dans nom de fonte \"%s\""
+msgstr "E244: Jeu de caractères \"%s\" invalide dans le nom de fonte \"%s\""
 
 #, c-format
 msgid "E245: Illegal char '%c' in font name \"%s\""
-msgstr "E245: Caractère '%c' illégal dans le nom de fonte \"%s\""
+msgstr "E245: Caractère '%c' invalide dans le nom de fonte \"%s\""
 
 msgid "E366: Invalid 'osfiletype' option - using Text"
 msgstr "E366: Option 'osfiletype' invalide - Text est utilisé"
 
 msgid "Vim: Double signal, exiting\n"
-msgstr "Vim: Signal double, sortie\n"
+msgstr "Vim: Double signal, sortie\n"
 
 #, c-format
 msgid "Vim: Caught deadly signal %s\n"
 msgstr "Vim: Signal mortel %s intercepté\n"
 
+#, c-format
 msgid "Vim: Caught deadly signal\n"
 msgstr "Vim: Signal mortel intercepté\n"
 
 #, c-format
 msgid "Opening the X display took %ld msec"
-msgstr "L'ouverture de l'affichage X a pris %ld msec"
+msgstr "L'ouverture du display X a pris %ld ms"
 
 msgid ""
 "\n"
 "Vim: Got X error\n"
 msgstr ""
 "\n"
-"Vim: Reçu l'erreur X\n"
-
-# TODO
+"Vim: Réception d'une erreur X\n"
+
 msgid "Testing the X display failed"
-msgstr "Le test de l'affichage X a échoué"
-
-# TODO
+msgstr "Le test du display X a échoué"
+
 msgid "Opening the X display timed out"
-msgstr "L'ouverture de l'affichage X a dépassé les délais"
+msgstr "L'ouverture du display X a dépassé le délai d'attente"
 
 msgid ""
 "\n"
 "Cannot execute shell "
 msgstr ""
 "\n"
-"Échec de l'exécution du shell "
-
-# todo
+"Impossible d'exécuter le shell "
+
 msgid ""
 "\n"
 "Cannot execute shell sh\n"
 msgstr ""
 "\n"
-"Échec de l'exécution du shell sh\n"
+"Impossible d'exécuter le shell sh\n"
 
 msgid ""
 "\n"
@@ -4078,21 +4643,19 @@ msgstr ""
 "\n"
 "le shell a retourné "
 
-# TODO
 msgid ""
 "\n"
 "Cannot create pipes\n"
 msgstr ""
 "\n"
-"Création de tuyaux (pipes) impossible\n"
-
-# todo
+"Impossible de créer des tuyaux (pipes)\n"
+
 msgid ""
 "\n"
 "Cannot fork\n"
 msgstr ""
 "\n"
-"Séparation impossible\n"
+"Impossible de forker\n"
 
 msgid ""
 "\n"
@@ -4102,57 +4665,57 @@ msgstr ""
 "Commande interrompue\n"
 
 msgid "XSMP lost ICE connection"
-msgstr "XSMP a perdu la connection ICE"
-
-# TODO
+msgstr "XSMP a perdu la connexion ICE"
+
+#, c-format
+msgid "dlerror = \"%s\""
+msgstr "dlerror = \"%s\""
+
 msgid "Opening the X display failed"
-msgstr "L'ouverture da l'affichage X a échoué"
-
-# TODO
+msgstr "L'ouverture du display X a échoué"
+
 msgid "XSMP handling save-yourself request"
-msgstr "XSMP gère une requête sauvez-vous"
+msgstr "XSMP: prise en charge d'une requête save-yourself"
 
 msgid "XSMP opening connection"
-msgstr "ouverture de connection XSMP"
+msgstr "XSMP: ouverture de la connexion"
 
 msgid "XSMP ICE connection watch failed"
-msgstr "XSMP: échec de la surveillance de connection ICE"
+msgstr "XSMP: échec de la surveillance de connexion ICE"
 
 #, c-format
 msgid "XSMP SmcOpenConnection failed: %s"
-msgstr "XSMP SmcOpenConnection a échoué: %s"
+msgstr "XSMP: SmcOpenConnection a échoué : %s"
 
 msgid "At line"
 msgstr "À la ligne"
 
-msgid "Could not allocate memory for command line."
-msgstr "Pas pu allouer de la mémoire pour la ligne de commande."
+msgid "Could not load vim32.dll!"
+msgstr "Impossible de charger vim32.dll !"
 
 msgid "VIM Error"
 msgstr "Erreur VIM"
 
-msgid "Could not load vim32.dll!"
-msgstr "Le chargement de vim32.dll a échoué !"
-
 msgid "Could not fix up function pointers to the DLL!"
-msgstr "Les pointeurs de fonction n'ont pu être ajustés à la DLL !"
+msgstr "Impossible d'initialiser les pointeurs de fonction vers la DLL !"
 
 #, c-format
 msgid "shell returned %d"
 msgstr "le shell a retourné %d"
 
+# DB - Les événements en question sont ceux des messages qui suivent.
 #, c-format
 msgid "Vim: Caught %s event\n"
-msgstr "Vim: Évènement %s intercepté\n"
+msgstr "Vim: Événement %s intercepté\n"
 
 msgid "close"
-msgstr "fermeture"
+msgstr "de fermeture"
 
 msgid "logoff"
-msgstr "déconnection"
+msgstr "de déconnexion"
 
 msgid "shutdown"
-msgstr "arrêt"
+msgstr "d'arrêt"
 
 msgid "E371: Command not found"
 msgstr "E371: Commande introuvable"
@@ -4162,38 +4725,35 @@ msgid ""
 "External commands will not pause after completion.\n"
 "See  :help win32-vimrun  for more information."
 msgstr ""
-"VIMRUN.EXE n'est pas dans votre $PATH.\n"
+"VIMRUN.EXE est introuvable votre $PATH.\n"
 "Les commandes externes ne feront pas de pause une fois terminées.\n"
 "Voir  :help win32-vimrun  pour plus d'informations."
 
-# todo
 msgid "Vim Warning"
 msgstr "Alerte Vim"
 
 #, c-format
 msgid "E372: Too many %%%c in format string"
-msgstr "E372: Trop de %%%c dans le patron de formattage"
+msgstr "E372: Trop de %%%c dans la chaîne de format"
 
 #, c-format
 msgid "E373: Unexpected %%%c in format string"
-msgstr "E373: %%%c inattendu dans le patron de formattage"
+msgstr "E373: %%%c inattendu dans la chaîne de format"
 
 msgid "E374: Missing ] in format string"
-msgstr "E374: ] manquant dans le patron de formattage"
+msgstr "E374: ] manquant dans la chaîne de format"
 
 #, c-format
 msgid "E375: Unsupported %%%c in format string"
-msgstr "E375: %%%c insupporté dans le patron de formattage"
-
-# todo
+msgstr "E375: %%%c non supporté dans la chaîne de format"
+
 #, c-format
 msgid "E376: Invalid %%%c in format string prefix"
-msgstr "E376: %%%c invalide dans le préfixe du patron de formattage"
-
-# todo
+msgstr "E376: %%%c invalide dans le préfixe de la chaîne de format"
+
 #, c-format
 msgid "E377: Invalid %%%c in format string"
-msgstr "E377: %%%c invalide dans le patron de formattage"
+msgstr "E377: %%%c invalide dans la chaîne de format"
 
 msgid "E378: 'errorformat' contains no pattern"
 msgstr "E378: 'errorformat' ne contient aucun motif"
@@ -4206,7 +4766,7 @@ msgstr "E553: Plus d'éléments"
 
 #, c-format
 msgid "(%d of %d)%s%s: "
-msgstr "(%d de %d)%s%s: "
+msgstr "(%d sur %d)%s%s: "
 
 msgid " (line deleted)"
 msgstr " (ligne effacée)"
@@ -4214,18 +4774,29 @@ msgstr " (ligne effacée)"
 msgid "E380: At bottom of quickfix stack"
 msgstr "E380: En bas de la pile quickfix"
 
-# todo
 msgid "E381: At top of quickfix stack"
 msgstr "E381: Au sommet de la pile quickfix"
 
 #, c-format
 msgid "error list %d of %d; %d errors"
-msgstr "liste d'erreurs %d sur %d; %d erreurs"
+msgstr "liste d'erreurs %d sur %d ; %d erreurs"
 
 msgid "E382: Cannot write, 'buftype' option is set"
-msgstr "E382: Écriture impossible, option 'buftype' activée"
-
-# todo
+msgstr "E382: Écriture impossible, l'option 'buftype' est activée"
+
+msgid "E683: File name missing or invalid pattern"
+msgstr "E683: Nom de fichier manquant ou motif invalide"
+
+#, c-format
+msgid "Cannot open file \"%s\""
+msgstr "Impossible d'ouvrir le fichier \"%s\""
+
+msgid "E681: Buffer is not loaded"
+msgstr "E681: le tampon n'est pas chargé"
+
+msgid "E777: String or List expected"
+msgstr "E777: Chaîne ou Liste attendue"
+
 #, c-format
 msgid "E369: invalid item in %s%%[]"
 msgstr "E369: élément invalide dans %s%%[]"
@@ -4249,54 +4820,37 @@ msgstr "E53: Pas de correspondance pour 
 
 #, c-format
 msgid "E54: Unmatched %s("
-msgstr "E54: Pas de correspondance pour %s("
+msgstr "E54: %s( ouvrante non fermée"
 
 #, c-format
 msgid "E55: Unmatched %s)"
-msgstr "E55: Pas de correspondance pour %s)"
-
-# TODO
-#, c-format
-msgid "E56: %s* operand could be empty"
-msgstr "E56: L'opérande %s* pourrait être vide"
-
-# TODO
-#, c-format
-msgid "E57: %s+ operand could be empty"
-msgstr "E57: L'opérande %s* pourrait être vide"
+msgstr "E55: %s) fermante non ouverte"
 
 #, c-format
 msgid "E59: invalid character after %s@"
 msgstr "E59: caractère invalide après %s@"
 
-# TODO
-#, c-format
-msgid "E58: %s{ operand could be empty"
-msgstr "E58: L'opérande %s{ pourrait être vide"
-
-# todo
 #, c-format
 msgid "E60: Too many complex %s{...}s"
 msgstr "E60: Trop de %s{...}s complexes"
 
 #, c-format
 msgid "E61: Nested %s*"
-msgstr "E61: %s* imbriqué"
+msgstr "E61: %s* imbriqués"
 
 #, c-format
 msgid "E62: Nested %s%c"
-msgstr "E62: %s%c imbriqué"
+msgstr "E62: %s%c imbriqués"
 
 msgid "E63: invalid use of \\_"
 msgstr "E63: utilisation invalide de \\_"
 
 #, c-format
 msgid "E64: %s%c follows nothing"
-msgstr "E64: %s%c ne suit rien"
-
-# todo
+msgstr "E64: %s%c ne suit aucun atome"
+
 msgid "E65: Illegal back reference"
-msgstr "E65: Rétroréférence illégale"
+msgstr "E65: post-référence invalide"
 
 msgid "E66: \\z( not allowed here"
 msgstr "E66: \\z( n'est pas autorisé ici"
@@ -4309,40 +4863,38 @@ msgstr "E68: Caractère invalide après \\z"
 
 #, c-format
 msgid "E69: Missing ] after %s%%["
-msgstr "E69: Il manque ] après %s%%["
+msgstr "E69: ']' manquant après %s%%["
 
 #, c-format
 msgid "E70: Empty %s%%[]"
 msgstr "E70: %s%%[] vide"
 
 #, c-format
+msgid "E678: Invalid character after %s%%[dxouU]"
+msgstr "E678: Caractère invalide après %s%%[dxouU]"
+
+#, c-format
 msgid "E71: Invalid character after %s%%"
 msgstr "E71: Caractère invalide après %s%%"
 
 #, c-format
+msgid "E769: Missing ] after %s["
+msgstr "E769: ']' manquant après %s["
+
+#, c-format
 msgid "E554: Syntax error in %s{...}"
 msgstr "E554: Erreur de syntaxe dans %s{...}"
 
-msgid "E361: Crash intercepted; regexp too complex?"
-msgstr "E361: Plantage intercepté; exp.rég. trop complexe ?"
-
-msgid "E363: pattern caused out-of-stack error"
-msgstr "E363: un motif a fait déborder la pile"
-
 msgid "External submatches:\n"
-msgstr "Sous-correspondances externes:\n"
-
-#, c-format
-msgid "+--%3ld lines folded "
-msgstr "+--%3ld lignes pliées "
+msgstr "Sous-correspondances externes :\n"
 
 msgid " VREPLACE"
-msgstr " REMPLACEMENT-V"
+msgstr " VREMPLACEMENT"
 
 msgid " REPLACE"
 msgstr " REMPLACEMENT"
 
-# TODO
+# DB - todo
 msgid " REVERSE"
 msgstr " REVERSE"
 
@@ -4356,13 +4908,13 @@ msgid " (replace)"
 msgstr " (remplacement)"
 
 msgid " (vreplace)"
-msgstr " (remplacement-v)"
+msgstr " (vremplacement)"
 
 msgid " Hebrew"
 msgstr " hébreu"
 
 msgid " Arabic"
-msgstr " arabique"
+msgstr " arabe"
 
 msgid " (lang)"
 msgstr " (langue)"
@@ -4370,38 +4922,38 @@ msgstr " (langue)"
 msgid " (paste)"
 msgstr " (collage)"
 
-msgid " SELECT"
-msgstr " SELECTION"
-
 msgid " VISUAL"
 msgstr " VISUEL"
 
-msgid " BLOCK"
-msgstr " BLOC"
-
-msgid " LINE"
-msgstr " LIGNE"
+msgid " VISUAL LINE"
+msgstr " VISUEL LIGNE"
+
+msgid " VISUAL BLOCK"
+msgstr " VISUEL BLOC"
+
+msgid " SELECT"
+msgstr " SÉLECTION"
+
+msgid " SELECT LINE"
+msgstr " SÉLECTION LIGNE"
+
+msgid " SELECT BLOCK"
+msgstr " SÉLECTION BLOC"
 
 msgid "recording"
-msgstr "enregistrement"
-
-msgid "search hit TOP, continuing at BOTTOM"
-msgstr "La recherche a atteint le HAUT, et continue en BAS"
-
-msgid "search hit BOTTOM, continuing at TOP"
-msgstr "La recherche a atteint le BAS, et continue en HAUT"
+msgstr "Enregistrement"
 
 #, c-format
 msgid "E383: Invalid search string: %s"
-msgstr "E383: Texte de recherche invalide: %s"
+msgstr "E383: Chaîne de recherche invalide : %s"
 
 #, c-format
 msgid "E384: search hit TOP without match for: %s"
-msgstr "E384: la recherche a atteint le HAUT sans trouver: %s"
+msgstr "E384: la recherche a atteint le HAUT sans trouver : %s"
 
 #, c-format
 msgid "E385: search hit BOTTOM without match for: %s"
-msgstr "E385: la recherche a atteint le BAS sans trouver: %s"
+msgstr "E385: la recherche a atteint le BAS sans trouver : %s"
 
 msgid "E386: Expected '?' or '/'  after ';'"
 msgstr "E386: '?' ou '/' attendu après ';'"
@@ -4414,7 +4966,7 @@ msgid "--- Included files "
 msgstr "--- Fichiers inclus "
 
 msgid "not found "
-msgstr "introuvable "
+msgstr "introuvables "
 
 msgid "in path ---\n"
 msgstr "dans le chemin ---\n"
@@ -4427,7 +4979,11 @@ msgstr "  INTROUVABLE"
 
 #, c-format
 msgid "Scanning included file: %s"
-msgstr "Examen des fichiers inclus: %s"
+msgstr "Examen des fichiers inclus : %s"
+
+#, c-format
+msgid "Searching included file %s"
+msgstr "Recherche du fichier inclus %s"
 
 msgid "E387: Match is on current line"
 msgstr "E387: La correspondance est sur la ligne courante"
@@ -4435,48 +4991,400 @@ msgstr "E387: La correspondance est sur 
 msgid "All included files were found"
 msgstr "Tous les fichiers inclus ont été trouvés"
 
-# todo
 msgid "No included files"
-msgstr "Pas de fichiers inclus"
+msgstr "Aucun fichiers inclus"
 
 msgid "E388: Couldn't find definition"
-msgstr "E388: Définition introuvable"
+msgstr "E388: Impossible de trouver la définition"
 
 msgid "E389: Couldn't find pattern"
-msgstr "E389: Motif introuvable"
+msgstr "E389: Impossible de trouver le motif"
+
+msgid "E759: Format error in spell file"
+msgstr "E759: Erreur de format du fichier orthographique"
+
+msgid "E758: Truncated spell file"
+msgstr "E758: Fichier orthographique tronqué"
+
+#, c-format
+msgid "Trailing text in %s line %d: %s"
+msgstr "Texte en trop dans %s ligne %d : %s"
+
+#, c-format
+msgid "Affix name too long in %s line %d: %s"
+msgstr "Nom d'affixe trop long dans %s ligne %d : %s"
+
+msgid "E761: Format error in affix file FOL, LOW or UPP"
+msgstr "E761: Erreur de format dans le fichier d'affixe FOL, LOW et UPP"
+
+msgid "E762: Character in FOL, LOW or UPP is out of range"
+msgstr "E762: Un caractère dans FOL, LOW ou UPP est hors-limites"
+
+msgid "Compressing word tree..."
+msgstr "Compression de l'arbre des mots"
+
+msgid "E756: Spell checking is not enabled"
+msgstr "E756: La vérification orthographique n'est pas activée"
+
+#, c-format
+msgid "Warning: Cannot find word list \"%s.%s.spl\" or \"%s.ascii.spl\""
+msgstr "Alerte: Liste de mots \"%s.%s.spl\" ou \"%s.ascii.spl\" introuvable"
+
+#, c-format
+msgid "Reading spell file \"%s\""
+msgstr "Lecture du fichier orthographique \"%s\""
+
+msgid "E757: This does not look like a spell file"
+msgstr "E757: Le fichier ne ressemble pas à un fichier orthographique"
+
+msgid "E771: Old spell file, needs to be updated"
+msgstr "E771: Fichier orthographique obsolète, sa mise à jour est nécessaire"
+
+msgid "E772: Spell file is for newer version of Vim"
+msgstr "E772: Le fichier est prévu pour une version de Vim plus récente"
+
+msgid "E770: Unsupported section in spell file"
+msgstr "E770: Section non supportée dans le fichier orthographique"
+
+#, c-format
+msgid "Warning: region %s not supported"
+msgstr "Alerte: region %s non supportée"
+
+#, c-format
+msgid "Reading affix file %s ..."
+msgstr "Lecture du fichier d'affixes %s..."
+
+#, c-format
+msgid "Conversion failure for word in %s line %d: %s"
+msgstr "Échec de conversion du mot dans %s ligne %d : %s"
+
+#, c-format
+msgid "Conversion in %s not supported: from %s to %s"
+msgstr "La conversion dans %s non supportée : de %s vers %s"
+
+#, c-format
+msgid "Conversion in %s not supported"
+msgstr "La conversion dans %s non supportée" 
+
+#, c-format
+msgid "Invalid value for FLAG in %s line %d: %s"
+msgstr "Valeur de FLAG invalide dans %s ligne %d : %s"
+
+#, c-format
+msgid "FLAG after using flags in %s line %d: %s"
+msgstr "FLAG trouvé après des drapeaux dans %s ligne %d : %s"
+
+#, c-format
+msgid "Wrong COMPOUNDWORDMAX value in %s line %d: %s"
+msgstr "Valeur de COMPOUNDWORDMAX erronée dans %s ligne %d : %s"
+
+#, c-format
+msgid "Wrong COMPOUNDMIN value in %s line %d: %s"
+msgstr "Valeur de COMPOUNDMIN erronée dans %s ligne %d : %s"
+
+#, c-format
+msgid "Wrong COMPOUNDSYLMAX value in %s line %d: %s"
+msgstr "Valeur de COMPOUNDSYLMAX erronée dans %s ligne %d : %s"
+
+#, c-format
+msgid "Wrong CHECKCOMPOUNDPATTERN value in %s line %d: %s"
+msgstr "Valeur de CHECKCOMPOUNDPATTERN erronée dans %s ligne %d : %s"
+
+# DB - TODO
+#, c-format
+msgid "Different combining flag in continued affix block in %s line %d: %s"
+msgstr ""
+"Drapeaux de composition différents dans un bloc d'affixes continu dans %s "
+"ligne %d : %s"
+
+#, c-format
+msgid "Duplicate affix in %s line %d: %s"
+msgstr "Affixe dupliquée dans %s ligne %d : %s"
+
+#, c-format
+msgid ""
+"Affix also used for BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST in %s "
+"line %d: %s"
+msgstr ""
+"Affixe aussi utilisée pour BAD/RARE/KEEPCASE/NEEDAFFIX/NEEDCOMPOUND/NOSUGGEST "
+"dans %s ligne %d : %s"
+
+#, c-format
+msgid "Expected Y or N in %s line %d: %s"
+msgstr "Y ou N attendu dans %s ligne %d : %s"
+
+# DB - todo (regexp impossible à compiler...)
+#, c-format
+msgid "Broken condition in %s line %d: %s"
+msgstr "Condition non valide dans %s ligne %d : %s"
+
+# DB - todo
+#, c-format
+msgid "Affix flags ignored when PFXPOSTPONE used in %s line %d: %s"
+msgstr ""
+"Drapeaux de l'affixe ignorés quand PFXPOSTPONE est utilisé dans %s ligne %d "
+": %s"
+
+#, c-format
+msgid "Expected REP(SAL) count in %s line %d"
+msgstr "Nombre de REP(SAL) attendu dans %s ligne %d"
+
+#, c-format
+msgid "Expected MAP count in %s line %d"
+msgstr "Nombre de MAP attendu dans %s ligne %d"
+
+#, c-format
+msgid "Duplicate character in MAP in %s line %d"
+msgstr "Caractère dupliqué dans MAP dans %s ligne %d"
+
+#, c-format
+msgid "Unrecognized or duplicate item in %s line %d: %s"
+msgstr "Élément non reconnu ou dupliqué dans %s ligne %d : %s"
+
+#, c-format
+msgid "Missing FOL/LOW/UPP line in %s"
+msgstr "Ligne FOL/LOW/UPP manquante dans %s"
+
+msgid "COMPOUNDSYLMAX used without SYLLABLE"
+msgstr "Utilisation de COMPOUNDSYLMAX sans SYLLABLE"
+
+msgid "Too many postponed prefixes"
+msgstr "Trop de préfixes reportés (PFXPOSTPONE)"
+
+msgid "Too many compound flags"
+msgstr "Trop de drapeaux de composition"
+
+msgid "Too many posponed prefixes and/or compound flags"
+msgstr "Trop de préfixes reportés et/ou de drapeaux de composition"
+
+#, c-format
+msgid "Missing SOFO%s line in %s"
+msgstr "Ligne SOFO%s manquante dans %s"
+
+#, c-format
+msgid "Both SAL and SOFO lines in %s"
+msgstr "Lignes SAL et lignes SOFO présentes dans %s"
+
+#, c-format
+msgid "Flag is not a number in %s line %d: %s"
+msgstr "Le drapeau n'est pas un nombre dans %s ligne %d : %s"
+
+#, c-format
+msgid "Illegal flag in %s line %d: %s"
+msgstr "Drapeau non autorisé dans %s ligne %d : %s"
+
+#, c-format
+msgid "%s value differs from what is used in another .aff file"
+msgstr "La valeur de %s est différente de celle d'un autre fichier .aff"
+
+#, c-format
+msgid "Reading dictionary file %s ..."
+msgstr "Lecture du fichier orthographique %s..."
+
+#, c-format
+msgid "E760: No word count in %s"
+msgstr "E760: Nombre de mots non indiqué dans %s"
+
+#, c-format
+msgid "line %6d, word %6d - %s"
+msgstr "ligne %6d, mot %6d - %s"
+
+#, c-format
+msgid "Duplicate word in %s line %d: %s"
+msgstr "Mot dupliqué dans %s ligne %d : %s"
+
+#, c-format
+msgid "First duplicate word in %s line %d: %s"
+msgstr "Premier mot dupliqué dans %s ligne %d : %s"
+
+#, c-format
+msgid "%d duplicate word(s) in %s"
+msgstr "%d mot(s) dupliqué(s) dans %s"
+
+#, c-format
+msgid "Ignored %d word(s) with non-ASCII characters in %s"
+msgstr "%d mot(s) ignoré(s) avec des caractères non-ASCII dans %s"
+
+#, c-format
+msgid "Reading word file %s ..."
+msgstr "Lecture de la liste de mots %s..."
+
+#, c-format
+msgid "Duplicate /encoding= line ignored in %s line %d: %s"
+msgstr "Ligne /encoding= en double ignorée dans %s ligne %d : %s"
+
+#, c-format
+msgid "/encoding= line after word ignored in %s line %d: %s"
+msgstr "Ligne /encoding= après des mots ignorée dans %s ligne %d : %s"
+
+#, c-format
+msgid "Duplicate /regions= line ignored in %s line %d: %s"
+msgstr "Ligne /regions= en double ignorée dans %s ligne %d : %s"
+
+#, c-format
+msgid "Too many regions in %s line %d: %s"
+msgstr "Trop de régions dans %s ligne %d : %s"
+
+#, c-format
+msgid "/ line ignored in %s line %d: %s"
+msgstr "Ligne / ignorée dans %s ligen %d : %s"
+
+#, c-format
+msgid "Invalid region nr in %s line %d: %s"
+msgstr "Numéro de région invalide dans %s ligne %d : %s"
+
+#, c-format
+msgid "Unrecognized flags in %s line %d: %s"
+msgstr "Drapeaux non reconnus dans %s ligne %d : %s"
+
+#, c-format
+msgid "Ignored %d words with non-ASCII characters"
+msgstr "%d mot(s) ignoré(s) avec des caractères non-ASCII"
+
+#, c-format
+msgid "Compressed %d of %d nodes; %d (%d%%) remaining"
+msgstr "%d noeuds compressés sur %d ; %d (%d%%) restants "
+
+msgid "Reading back spell file..."
+msgstr "Relecture du fichier orthographique"
+
+#. * Go through the trie of good words, soundfold each word and add it to
+#. * the soundfold trie.
+msgid "Performing soundfolding..."
+msgstr "Analyse phonétique en cours..."
+
+#, c-format
+msgid "Number of words after soundfolding: %ld"
+msgstr "Nombre de mots après l'analyse phonétique : %ld"
+
+#, c-format
+msgid "Total number of words: %d"
+msgstr "Nombre total de mots : %d"
+
+#, c-format
+msgid "Writing suggestion file %s ..."
+msgstr "Écriture du fichier de suggestions %s..."
+
+#, c-format
+msgid "Estimated runtime memory use: %d bytes"
+msgstr "Estimation de mémoire consommée : %d octets"
+
+msgid "E751: Output file name must not have region name"
+msgstr "E751: Le nom du fichier ne doit pas contenir de nom de région"
+
+msgid "E754: Only up to 8 regions supported"
+msgstr "E754: 8 régions au maximum sont supportées"
+
+#, c-format
+msgid "E755: Invalid region in %s"
+msgstr "E755: Région invalide dans %s"
+
+msgid "Warning: both compounding and NOBREAK specified"
+msgstr "Alerte: la composition et NOBREAK sont tous les deux spécifiés"
+
+#, c-format
+msgid "Writing spell file %s ..."
+msgstr "Écriture du fichier orthographique %s..."
+
+msgid "Done!"
+msgstr "Terminé !"
+
+# DB - todo : perfectible.
+#, c-format
+msgid "E765: 'spellfile' does not have %ld entries"
+msgstr "E765: 'spellfile' n'a pas %ld entrées"
+
+#, c-format
+msgid "Word removed from %s"
+msgstr "Mot retiré de %s"
+
+#, c-format
+msgid "Word added to %s"
+msgstr "Mot ajouté dans %s"
+
+msgid "E763: Word characters differ between spell files"
+msgstr ""
+"E763: Les caractères de mots diffèrent entre les fichier orthographiques"
+
+msgid "Sorry, no suggestions"
+msgstr "Désolé, aucune suggestion"
+
+#, c-format
+msgid "Sorry, only %ld suggestions"
+msgstr "Désolé, seulement %ld suggestions"
+
+#, c-format
+msgid "Change \"%.*s\" to:"
+msgstr "Remplacer \"%.*s\" par :"
+
+# DB - todo : l'intérêt de traduire ce message m'échappe.
+#, c-format
+msgid " < \"%.*s\""
+msgstr " < \"%.*s\""
+
+msgid "E752: No previous spell replacement"
+msgstr "E752: Pas de suggestion orthographique précédente"
+
+#, c-format
+msgid "E753: Not found: %s"
+msgstr "E334: Introuvable : %s"
+
+#, c-format
+msgid "E778: This does not look like a .sug file: %s"
+msgstr "E778: %s ne semble pas être un fichier .sug"
+
+#, c-format
+msgid "E779: Old .sug file, needs to be updated: %s"
+msgstr "E779: Fichier de suggestions obsolète, mise à jour nécessaire : %s"
+
+#, c-format
+msgid "E780: .sug file is for newer version of Vim: %s"
+msgstr "E780: Fichier .sug prévu pour une version de Vim plus récente : %s"
+
+#, c-format
+msgid "E781: .sug file doesn't match .spl file: %s"
+msgstr "E781: Le fichier .sug ne correspond pas au fichier .spl : %s"
+
+#, c-format
+msgid "E782: error while reading .sug file: %s"
+msgstr "E782: Erreur lors de la lecture de fichier de suggestions : %s"
+
+#. This should have been checked when generating the .spl
+#. * file.
+msgid "E783: duplicate char in MAP entry"
+msgstr "E783: caractères dupliqué dans l'entrée MAP"
 
 #, c-format
 msgid "E390: Illegal argument: %s"
-msgstr "E390: Argument illégal: %s"
+msgstr "E390: Argument invalide : %s"
 
 #, c-format
 msgid "E391: No such syntax cluster: %s"
-msgstr "E391: Pas de tel surgroupe syntactique: %s"
+msgstr "E391: Aucune grappe de syntaxe %s"
 
 msgid "No Syntax items defined for this buffer"
-msgstr "Pas d'éléments syntactiques définis pour ce tampon"
+msgstr "Aucun élément de syntaxe défini pour ce tampon"
 
 msgid "syncing on C-style comments"
-msgstr "synchro sur les commentaire style C"
+msgstr "synchronisation sur les commentaires de type C"
 
 msgid "no syncing"
-msgstr "pas de synchro"
-
+msgstr "Aucune synchronisation"
+
+# DB - Les deux messages qui suivent vont ensemble.
 msgid "syncing starts "
-msgstr "la synchro commence "
+msgstr "La synchronisation débute "
 
 msgid " lines before top line"
 msgstr " lignes avant la ligne du haut"
 
-# todo
 msgid ""
 "\n"
 "--- Syntax sync items ---"
 msgstr ""
 "\n"
-"--- Éléments de synchro syntactique ---"
-
-# todo
+"--- Éléments de synchronisation syntaxique ---"
+
 msgid ""
 "\n"
 "syncing on items"
@@ -4493,123 +5401,126 @@ msgstr ""
 
 #, c-format
 msgid "E392: No such syntax cluster: %s"
-msgstr "E392: Pas de tel surgroupe de syntaxe: %s"
+msgstr "E392: Aucune grappe de syntaxe %s"
 
 msgid "minimal "
-msgstr "minimal "
+msgstr "minimum "
 
 msgid "maximal "
-msgstr "maximal "
-
-# todo
+msgstr "maximum "
+
+# DB - todo
 msgid "; match "
-msgstr "; correspondance"
-
+msgstr "; correspond avec "
+
+# DB - todo
 msgid " line breaks"
-msgstr " fins de ligne"
-
-# todo
+msgstr " coupures de ligne"
+
+msgid "E395: contains argument not accepted here"
+msgstr "E395: L'argument « contains » n'est pas accepté ici"
+
+msgid "E396: containedin argument not accepted here"
+msgstr "E396: L'argument « containedin » n'est pas accepté ici"
+
 msgid "E393: group[t]here not accepted here"
-msgstr "E394: group[t]here pas accepté ici"
-
-# todo
+msgstr "E394: L'argument « group[t]here » n'est pas accepté ici"
+
 #, c-format
 msgid "E394: Didn't find region item for %s"
-msgstr "E394: Pas trouvé d'objet region pour %s"
-
-msgid "E395: contains argument not accepted here"
-msgstr "E395: L'argument contains n'est pas accepté ici"
-
-msgid "E396: containedin argument not accepted here"
-msgstr "E396: L'argument containedin n'est pas accepté ici"
+msgstr "E394: Aucun élément de type région trouvé pour %s"
 
 msgid "E397: Filename required"
 msgstr "E397: Nom de fichier requis"
 
 #, c-format
+msgid "E747: Missing ']': %s"
+msgstr "E747: ']' manquant : %s"
+
+#, c-format
 msgid "E398: Missing '=': %s"
-msgstr "E398: '=' manquant: %s"
+msgstr "E398: '=' manquant : %s"
 
 #, c-format
 msgid "E399: Not enough arguments: syntax region %s"
-msgstr "E399: Pas assez d'arguments: syntax region %s"
-
-# TODO
+msgstr "E399: Pas assez d'arguments : syntax region %s"
+
 msgid "E400: No cluster specified"
-msgstr "E400: Aucun surgroupe spécifié"
+msgstr "E400: Aucun grappe spécifiée"
 
 #, c-format
 msgid "E401: Pattern delimiter not found: %s"
-msgstr "E401: Délimiteur de motif introuvable: %s"
-
-# todo
+msgstr "E401: Délimiteur de motif introuvable : %s"
+
 #, c-format
 msgid "E402: Garbage after pattern: %s"
-msgstr "E402: Détritus après le motif: %s"
-
-# todo
+msgstr "E402: caractères en trop après le motif : %s"
+
 msgid "E403: syntax sync: line continuations pattern specified twice"
-msgstr "E403: synchro syntax: motif de continuation de ligne présent deux fois"
+msgstr ""
+"E403: synchro syntax : motif de continuation de ligne présent deux fois"
 
 #, c-format
 msgid "E404: Illegal arguments: %s"
-msgstr "E404: Arguments illégaux: %s"
+msgstr "E404: Arguments invalides : %s"
 
 #, c-format
 msgid "E405: Missing equal sign: %s"
-msgstr "E405: Signe égal manquant: %s"
+msgstr "E405: '=' manquant : %s"
 
 #, c-format
 msgid "E406: Empty argument: %s"
-msgstr "E406: Argument vide: %s"
+msgstr "E406: Argument vide : %s"
 
 #, c-format
 msgid "E407: %s not allowed here"
-msgstr "E407: %s n'est pas permis ici"
+msgstr "E407: %s n'est pas autorisé ici"
 
 #, c-format
 msgid "E408: %s must be first in contains list"
-msgstr "E408: %s doit être le premier élément d'une liste contains"
+msgstr "E408: %s doit être le premier élément d'une liste « contains »"
 
 #, c-format
 msgid "E409: Unknown group name: %s"
-msgstr "E409: Nom de groupe inconnu: %s"
+msgstr "E409: Nom de groupe inconnu : %s"
 
 #, c-format
 msgid "E410: Invalid :syntax subcommand: %s"
-msgstr "E410: Sous-commande de :syntax invalide: %s"
+msgstr "E410: Sous-commande de :syntax invalide : %s"
+
+msgid "E679: recursive loop loading syncolor.vim"
+msgstr "E679: boucle récursive lors du chargement de syncolor.vim"
 
 #, c-format
 msgid "E411: highlight group not found: %s"
-msgstr "E411: groupe de surlignage introuvable: %s"
+msgstr "E411: groupe de surbrillance introuvable : %s"
 
 #, c-format
 msgid "E412: Not enough arguments: \":highlight link %s\""
-msgstr "E412: Pas assez d'arguments: \":highlight link %s\""
+msgstr "E412: Trop peu d'arguments : \":highlight link %s\""
 
 #, c-format
 msgid "E413: Too many arguments: \":highlight link %s\""
 msgstr "E413: Trop d'arguments: \":highlight link %s\""
 
-# TODO
 msgid "E414: group has settings, highlight link ignored"
-msgstr "E414: le groupe a des réglages, lien de surlignage ignoré"
+msgstr "E414: le groupe a déjà des attributs, lien de surbrillance ignoré"
 
 #, c-format
 msgid "E415: unexpected equal sign: %s"
-msgstr "E415: signe égal inattendu: %s"
+msgstr "E415: signe égal inattendu : %s"
 
 #, c-format
 msgid "E416: missing equal sign: %s"
-msgstr "E416: signe égal manquant: %s"
+msgstr "E416: '=' manquant : %s"
 
 #, c-format
 msgid "E417: missing argument: %s"
-msgstr "E417: argument manquant: %s"
+msgstr "E417: argument manquant : %s"
 
 #, c-format
 msgid "E418: Illegal value: %s"
-msgstr "E418: Valeur illégale: %s"
+msgstr "E418: Valeur invalide : %s"
 
 msgid "E419: FG color unknown"
 msgstr "E419: Couleur de premier plan inconnue"
@@ -4619,50 +5530,50 @@ msgstr "E420: Couleur d'arrière-plan inconnue"
 
 #, c-format
 msgid "E421: Color name or number not recognized: %s"
-msgstr "E421: Nom ou numéro de couleur non reconnu: %s"
+msgstr "E421: Nom ou numéro de couleur non reconnu : %s"
 
 #, c-format
 msgid "E422: terminal code too long: %s"
-msgstr "E422: le code de terminal est trop long: %s"
+msgstr "E422: le code de terminal est trop long : %s"
 
 #, c-format
 msgid "E423: Illegal argument: %s"
-msgstr "E423: Argument illégal: %s"
+msgstr "E423: Argument invalide : %s"
 
 msgid "E424: Too many different highlighting attributes in use"
-msgstr "E424: Trop d'attributs de surlignage différents en cours d'utilisation"
+msgstr ""
+"E424: Trop d'attributs de surbrillance différents en cours d'utilisation"
+
+msgid "E669: Unprintable character in group name"
+msgstr "E669: Caractère non-imprimable dans un nom de groupe"
+
+msgid "W18: Invalid character in group name"
+msgstr "W18: Caractère invalide dans un nom de groupe"
 
 msgid "E555: at bottom of tag stack"
-msgstr "E555: En bas de la pile d'étiquettes"
+msgstr "E555: En bas de la pile de marqueurs"
 
 msgid "E556: at top of tag stack"
-msgstr "E556: Au sommet de la pile d'étiquettes"
+msgstr "E556: Au sommet de la pile de marqueurs"
 
 msgid "E425: Cannot go before first matching tag"
-msgstr "E425: Ne peut aller avant la première étiquette correspondante"
+msgstr "E425: Impossible d'aller avant le premier marqueur correspondant"
 
 #, c-format
 msgid "E426: tag not found: %s"
-msgstr "E426: Étiquette introuvable: %s"
+msgstr "E426: Marqueur introuvable : %s"
 
 msgid "  # pri kind tag"
-msgstr "  # pri type étiquette"
+msgstr "  # pri type marqueur"
 
 msgid "file\n"
 msgstr "fichier\n"
 
-#.
-#. * Ask to select a tag from the list.
-#. * When using ":silent" assume that <CR> was entered.
-#.
-msgid "Enter nr of choice (<CR> to abort): "
-msgstr "Entrez le no choisi (<CR> pour annuler): "
-
 msgid "E427: There is only one matching tag"
-msgstr "E427: Il n'y a qu'une étiquette correspondante"
+msgstr "E427: Il n'y a qu'un marqueur correspondant"
 
 msgid "E428: Cannot go beyond last matching tag"
-msgstr "E428: Ne peut aller au delà de la dernière étiquette correspondante"
+msgstr "E428: Impossible d'aller au-delà du dernièr marqueur correspondant"
 
 #, c-format
 msgid "File \"%s\" does not exist"
@@ -4671,38 +5582,36 @@ msgstr "Le fichier \"%s\" n'existe pas"
 #. Give an indication of the number of matching tags
 #, c-format
 msgid "tag %d of %d%s"
-msgstr "étiquette %d de %d%s"
+msgstr "marqueur %d sur %d%s"
 
 msgid " or more"
 msgstr " ou plus"
 
 msgid "  Using tag with different case!"
-msgstr "  Utilisation d'une étiquette dans une casse différente !"
+msgstr "  Utilisation d'un marqueur avec une casse différente !"
 
 #, c-format
 msgid "E429: File \"%s\" does not exist"
 msgstr "E429: Le fichier \"%s\" n'existe pas"
 
-# todo
-#. Highlight title
 msgid ""
 "\n"
 "  # TO tag         FROM line  in file/text"
 msgstr ""
 "\n"
-"  # VERS étiquette DE ligne   dans fichier/texte"
+"  # VERS marqueur  DE ligne   dans le fichier/texte"
 
 #, c-format
 msgid "Searching tags file %s"
-msgstr "Examen du fichier d'étiquettes %s"
+msgstr "Examen du fichier de marqueurs %s"
 
 #, c-format
 msgid "E430: Tag file path truncated for %s\n"
-msgstr "E430: Chemin de fichiers d'étiquettes tronqué pour %s\n"
+msgstr "E430: Chemin de fichiers de marqueurs tronqué pour %s\n"
 
 #, c-format
 msgid "E431: Format error in tags file \"%s\""
-msgstr "E431: Erreur de format dans le fichier d'étiquettes \"%s\""
+msgstr "E431: Erreur de format dans le fichier de marqueurs \"%s\""
 
 #, c-format
 msgid "Before byte %ld"
@@ -4710,45 +5619,41 @@ msgstr "Avant l'octet %ld"
 
 #, c-format
 msgid "E432: Tags file not sorted: %s"
-msgstr "E432: Le fichier d'étiquettes n'est pas classé: %s"
+msgstr "E432: Le fichier de marqueurs %s n'est pas ordonné"
 
 #. never opened any tags file
 msgid "E433: No tags file"
-msgstr "E433: Par de fichier d'étiquettes"
-
-# todo
+msgstr "E433: Aucun fichier de marqueurs"
+
 msgid "E434: Can't find tag pattern"
-msgstr "E434: Le motif de l'étiquette est introuvable"
+msgstr "E434: Le motif de marqueur est introuvable"
 
 msgid "E435: Couldn't find tag, just guessing!"
-msgstr "E435: Étiquette introuvable, on se contente de deviner !"
+msgstr "E435: Marqueur introuvable, tentative pour deviner !"
 
 msgid "' not known. Available builtin terminals are:"
-msgstr "' inconnu. Les terminaux internes sont:"
-
-# todo
+msgstr "' inconnu. Les terminaux intégrés sont :"
+
 msgid "defaulting to '"
 msgstr "utilisation par défaut de '"
 
 msgid "E557: Cannot open termcap file"
-msgstr "E557: Le fichier termcap ne peut être ouvert"
+msgstr "E557: Impossible d'ouvrir le fichier termcap"
 
 msgid "E558: Terminal entry not found in terminfo"
-msgstr "E558: La description du terminal n'a pas été trouvée dans terminfo"
+msgstr "E558: La description du terminal est introuvable dans terminfo"
 
 msgid "E559: Terminal entry not found in termcap"
-msgstr "E559: La description du terminal n'a pas été trouvée dans termcap"
-
-# todo
+msgstr "E559: La description du terminal est introuvable dans termcap"
+
 #, c-format
 msgid "E436: No \"%s\" entry in termcap"
-msgstr "E436: Pas d'entrée \"%s\" dans termcap"
-
-# todo
+msgstr "E436: Aucune entrée \"%s\" dans termcap"
+
+# DB - todo : Comment améliorer ?
 msgid "E437: terminal capability \"cm\" required"
 msgstr "E437: capacité de terminal \"cm\" requise"
 
-#. Highlight title
 msgid ""
 "\n"
 "--- Terminal keys ---"
@@ -4756,33 +5661,67 @@ msgstr ""
 "\n"
 "--- Touches du terminal ---"
 
-# todo
 msgid "new shell started\n"
 msgstr "nouveau shell démarré\n"
 
-# todo
 msgid "Vim: Error reading input, exiting...\n"
-msgstr "Vim: Erreur en lisant l'entrée, sortie...\n"
-
-# todo
-#. must display the prompt
+msgstr "Vim: Erreur lors de la lecture de l'entrée, sortie...\n"
+
+# DB - Question O/N.
 msgid "No undo possible; continue anyway"
-msgstr "Annulation impossible; on continue quand même"
+msgstr "Annulation impossible ; continuer"
+
+msgid "Already at oldest change"
+msgstr "Déjà à la modification la plus ancienne"
+
+msgid "Already at newest change"
+msgstr "Déjà à la modifications la plus récente"
+
+#, c-format
+msgid "Undo number %ld not found"
+msgstr "L'annulation n° %ld introuvable"
 
 msgid "E438: u_undo: line numbers wrong"
 msgstr "E438: u_undo: numéros de ligne erronés"
 
-msgid "1 change"
-msgstr "1 changement"
-
-#, c-format
-msgid "%ld changes"
-msgstr "%ld changements"
+msgid "more line"
+msgstr "ligne en plus"
+
+msgid "more lines"
+msgstr "lignes en plus"
+
+msgid "line less"
+msgstr "ligne en moins"
+
+msgid "fewer lines"
+msgstr "lignes en moins"
+
+msgid "change"
+msgstr "modification"
+
+msgid "changes"
+msgstr "modifications"
+
+#, c-format
+msgid "%ld %s; %s #%ld  %s"
+msgstr "%ld %s ; %s #%ld ; %s"
+
+msgid "before"
+msgstr "avant"
+
+msgid "after"
+msgstr "après"
+
+msgid "Nothing to undo"
+msgstr "Rien à annuler"
+
+# DB - Les deux premières colonnes sont alignées à droite.
+msgid "number changes  time"
+msgstr "numéro  modif.  instant"
 
 msgid "E439: undo list corrupt"
 msgstr "E439: la liste d'annulation est corrompue"
 
-# todo
 msgid "E440: undo line missing"
 msgstr "E440: ligne d'annulation manquante"
 
@@ -4863,13 +5802,12 @@ msgstr ""
 "\n"
 "Version RISC OS"
 
-# todo
 msgid ""
 "\n"
 "Included patches: "
 msgstr ""
 "\n"
-"Patches inclus: "
+"Patches inclus : "
 
 msgid "Modified by "
 msgstr "Modifié par "
@@ -4923,94 +5861,91 @@ msgid "without GUI."
 msgstr "sans interface graphique."
 
 msgid "with GTK2-GNOME GUI."
-msgstr "avec interface GTK2-GNOME."
+msgstr "avec interface graphique GTK2-GNOME."
 
 msgid "with GTK-GNOME GUI."
-msgstr "avec interface GTK-GNOME."
+msgstr "avec interface graphique GTK-GNOME."
 
 msgid "with GTK2 GUI."
-msgstr "avec interface GTK2."
+msgstr "avec interface graphique GTK2."
 
 msgid "with GTK GUI."
-msgstr "avec interface GTK."
+msgstr "avec interface graphique GTK."
 
 msgid "with X11-Motif GUI."
-msgstr "avec interface X11-Motif."
+msgstr "avec interface graphique X11-Motif."
 
 msgid "with X11-neXtaw GUI."
-msgstr "avec interface X11-neXtaw."
+msgstr "avec interface graphique X11-neXtaw."
 
 msgid "with X11-Athena GUI."
-msgstr "avec interface X11-Athena."
-
-msgid "with BeOS GUI."
-msgstr "avec interface BeOS."
+msgstr "avec interface graphique X11-Athena."
 
 msgid "with Photon GUI."
-msgstr "avec interface Photon."
+msgstr "avec interface graphique Photon."
 
 msgid "with GUI."
 msgstr "avec une interface graphique."
 
 msgid "with Carbon GUI."
-msgstr "avec interface Carbon."
+msgstr "avec interface graphique Carbon."
 
 msgid "with Cocoa GUI."
-msgstr "avec interface Cocoa."
+msgstr "avec interface graphique Cocoa."
 
 msgid "with (classic) GUI."
-msgstr "avec interface (classique)."
+msgstr "avec interface graphique (classic)."
 
 msgid "  Features included (+) or not (-):\n"
-msgstr "  Fonctionnalités incluses (+) ou non (-):\n"
+msgstr "  Fonctionnalités incluses (+) ou non (-) :\n"
 
 msgid "   system vimrc file: \""
-msgstr "         fichier vimrc système: \""
+msgstr "         fichier vimrc système : \""
 
 msgid "     user vimrc file: \""
-msgstr "     fichier vimrc utilisateur: \""
+msgstr "     fichier vimrc utilisateur : \""
 
 msgid " 2nd user vimrc file: \""
-msgstr " 2me fichier vimrc utilisateur: \""
+msgstr " 2me fichier vimrc utilisateur : \""
 
 msgid " 3rd user vimrc file: \""
-msgstr " 3me fichier vimrc utilisateur: \""
+msgstr " 3me fichier vimrc utilisateur : \""
 
 msgid "      user exrc file: \""
-msgstr "      fichier exrc utilisateur: \""
+msgstr "      fichier exrc utilisateur : \""
 
 msgid "  2nd user exrc file: \""
-msgstr "  2me fichier exrc utilisateur: \""
+msgstr "  2me fichier exrc utilisateur : \""
 
 msgid "  system gvimrc file: \""
-msgstr "        fichier gvimrc système: \""
+msgstr "        fichier gvimrc système : \""
 
 msgid "    user gvimrc file: \""
-msgstr "    fichier gvimrc utilisateur: \""
+msgstr "    fichier gvimrc utilisateur : \""
 
 msgid "2nd user gvimrc file: \""
-msgstr "2me fichier gvimrc utilisateur: \""
+msgstr "2me fichier gvimrc utilisateur : \""
 
 msgid "3rd user gvimrc file: \""
-msgstr "3me fichier gvimrc utilisateur: \""
+msgstr "3me fichier gvimrc utilisateur : \""
 
 msgid "    system menu file: \""
-msgstr "          fichier menu système: \""
+msgstr "          fichier menu système : \""
 
 msgid "  fall-back for $VIM: \""
-msgstr "               $VIM par défaut: \""
+msgstr "               $VIM par défaut : \""
 
 msgid " f-b for $VIMRUNTIME: \""
-msgstr "        $VIMRUNTIME par défaut: \""
+msgstr "        $VIMRUNTIME par défaut : \""
 
 msgid "Compilation: "
-msgstr "Compilation: "
+msgstr "Compilation : "
 
 msgid "Compiler: "
-msgstr "Compilateur: "
+msgstr "Compilateur : "
 
 msgid "Linking: "
-msgstr "Édition de liens: "
+msgstr "Édition de liens : "
 
 msgid "  DEBUG BUILD"
 msgstr "  VERSION DE DÉBOGAGE"
@@ -5024,12 +5959,11 @@ msgstr "version "
 msgid "by Bram Moolenaar et al."
 msgstr "par Bram Moolenaar et al."
 
-# todo
 msgid "Vim is open source and freely distributable"
 msgstr "Vim est un logiciel libre"
 
 msgid "Help poor children in Uganda!"
-msgstr "Aidez de pauvres enfants en Ouganda !"
+msgstr "Aidez les enfants pauvres d'Ouganda !"
 
 msgid "type  :help iccf<Enter>       for information "
 msgstr "tapez  :help iccf<Entrée>  pour plus d'informations"
@@ -5040,38 +5974,57 @@ msgstr "tapez  :q<Entrée>               pour sortir du programme          "
 msgid "type  :help<Enter>  or  <F1>  for on-line help"
 msgstr "tapez  :help<Entrée>  ou  <F1>  pour accéder à l'aide en ligne    "
 
-msgid "type  :help version6<Enter>   for version info"
-msgstr "tapez  :help version6<Entrée>   pour lire les notes de mise à jour"
-
+msgid "type  :help version7<Enter>   for version info"
+msgstr "tapez  :help version7<Entrée>   pour lire les notes de mise à jour"
+
+# DB - Pour les trois messages qui suivent :
+#        :set cp
+#        :intro
 msgid "Running in Vi compatible mode"
-msgstr "Compatibilité Vi activée"
+msgstr "Compatibilité avec Vi activée"
 
 msgid "type  :set nocp<Enter>        for Vim defaults"
-msgstr "tapez  :set nocp<Entrée>        pour déf. de Vim"
+msgstr "tapez  :set nocp<Entrée>       pour la desactiver"
 
 msgid "type  :help cp-default<Enter> for info on this"
-msgstr "tapez  :help cp-default<Entrée> pour plus d'info"
+msgstr "tapez  :help cp-default<Entrée>  pour plus d'info"
 
 msgid "menu  Help->Orphans           for information    "
-msgstr "menu  Aide->Orphelins           pour plus d'info"
+msgstr "menu  Aide->Orphelins            pour plus d'info"
 
 msgid "Running modeless, typed text is inserted"
-msgstr "Les modes sont désactivés, tout texte est inséré"
-
-# TODO
+msgstr "Les modes sont désactivés, le texte saisi est inséré"
+
 msgid "menu  Edit->Global Settings->Toggle Insert Mode  "
-msgstr "menu  Edition->Réglages Globaux->Insertion Perm. "
-
+msgstr "menu  Edition->Réglages Globaux->Insertion Permanente"
+
+# DB - todo
 msgid "                              for two modes      "
-msgstr "                                pour les modes   "
-
-# TODO
+msgstr "                                  pour les modes     "
+
+# DB - todo
 msgid "menu  Edit->Global Settings->Toggle Vi Compatible"
 msgstr "menu  Édition->Réglages Globaux->Compatibilité Vi"
 
+# DB - todo
 msgid "                              for Vim defaults   "
 msgstr "                                pour déf. de Vim "
 
+msgid "Sponsor Vim development!"
+msgstr "Sponsorisez le développement de Vim !"
+
+msgid "Become a registered Vim user!"
+msgstr "Devenez un utilisateur de Vim enregistré !"
+
+msgid "type  :help sponsor<Enter>    for information "
+msgstr "tapez  :help sponsor<Entrée>   pour plus d'informations"
+
+msgid "type  :help register<Enter>   for information "
+msgstr "tapez  :help register<Entrée>  pour plus d'informations"
+
+msgid "menu  Help->Sponsor/Register  for information    "
+msgstr "menu  Aide->Sponsor/Enregistrement pour plus d'info"
+
 msgid "WARNING: Windows 95/98/ME detected"
 msgstr "ALERTE: Windows 95/98/ME détecté"
 
@@ -5082,63 +6035,61 @@ msgid "E441: There is no preview window"
 msgstr "E441: Il n'y a pas de fenêtre de prévisualisation"
 
 msgid "E442: Can't split topleft and botright at the same time"
-msgstr "E442: Ne peut séparer hautgauche et basdroite en même temps"
-
-# todo
+msgstr "E442: Impossible de partager topleft et botright en même temps"
+
 msgid "E443: Cannot rotate when another window is split"
-msgstr "E443: Rotation impossible quand des fenêtres sont séparées"
+msgstr "E443: Rotation impossible quand une autre fenêtre est partagée"
 
 msgid "E444: Cannot close last window"
-msgstr "E444: Fermeture de la dernière fenêtre impossible"
+msgstr "E444: Impossible de fermer la dernière fenêtre"
 
 msgid "Already only one window"
 msgstr "Il n'y a déjà plus qu'une fenêtre"
 
-# TODO
 msgid "E445: Other window contains changes"
-msgstr "E445: L'autre fenêtre n'a pas été enregistrée"
+msgstr "E445: Les modifications de l'autre fenêtre n'ont pas été enregistrées"
 
 msgid "E446: No file name under cursor"
-msgstr "E446: Pas de nom de fichier sous le curseur"
-
-# todo
+msgstr "E446: Aucun nom de fichier sous le curseur"
+
 #, c-format
 msgid "E447: Can't find file \"%s\" in path"
-msgstr "E447: Le fichier \"%s\" n'est pas dans le chemin"
+msgstr "E447: Le fichier \"%s\" est introuvable dans 'path'"
 
 #, c-format
 msgid "E370: Could not load library %s"
-msgstr "E370: Le chargement de la bibliothèque %s"
+msgstr "E370: Impossible de charger la bibliothèque %s"
 
 msgid "Sorry, this command is disabled: the Perl library could not be loaded."
-msgstr "Désolé, commande désactivée: la bibliothèque Perl n'a pu être chargée."
+msgstr ""
+"Désolé, commande désactivée : la bibliothèque Perl n'a pas pu être chargée."
 
 msgid "E299: Perl evaluation forbidden in sandbox without the Safe module"
-msgstr "E299: Évaluation Perl interdite dans bac à sable sans module Safe"
+msgstr "E299: Évaluation Perl interdite dans bac à sable sans le module Safe"
 
 msgid "Edit with &multiple Vims"
-msgstr "Édite dans &plusieurs Vims"
+msgstr "Éditer dans &plusieurs Vims"
 
 msgid "Edit with single &Vim"
-msgstr "Édite dans un seul &Vim"
-
-# todo
-msgid "&Diff with Vim"
-msgstr "&Comparer dans Vim"
+msgstr "Éditer dans un seul &Vim"
+
+msgid "Diff with Vim"
+msgstr "&Comparer avec Vim"
 
 msgid "Edit with &Vim"
-msgstr "Édite dans &Vim"
-
-#. Now concatenate
-msgid "Edit with existing Vim - &"
-msgstr "Éditer dans le Vim existant - &"
+msgstr "Éditer dans &Vim"
+
+msgid "Edit with existing Vim - "
+msgstr "Éditer dans le Vim existant - "
 
 msgid "Edits the selected file(s) with Vim"
-msgstr "Éditer le(s) fichier(s) sélectionné(s) avec Vim"
-
-# todo
+msgstr "Édites le(s) fichier(s) sélectionné(s) avec Vim"
+
+# DB - MessageBox win32, la longueur n'est pas un problème !
 msgid "Error creating process: Check if gvim is in your path!"
-msgstr "Erreur de création du processus: Vérifiez si gvim est bien dans votre chemin!"
+msgstr ""
+"Erreur de création du processus : "
+"vérifiez que gvim est bien dans votre chemin !"
 
 msgid "gvimext.dll error"
 msgstr "Erreur de gvimext.dll"
@@ -5147,13 +6098,10 @@ msgid "Path length too long!"
 msgstr "Le chemin est trop long !"
 
 # msgstr "--Pas de lignes dans le tampon--"
+# DB - todo : ou encore : msgstr "--Aucune ligne dans le tampon--"
 msgid "--No lines in buffer--"
 msgstr "--Le tampon est vide--"
 
-#.
-#. * The error messages that can be shared are included here.
-#. * Excluded are errors that are only used once and debugging messages.
-#.
 msgid "E470: Command aborted"
 msgstr "E470: Commande annulée"
 
@@ -5163,13 +6111,14 @@ msgstr "E471: Argument requis"
 msgid "E10: \\ should be followed by /, ? or &"
 msgstr "E10: \\ devrait être suivi de /, ? ou &"
 
-# todo
 msgid "E11: Invalid in command-line window; <CR> executes, CTRL-C quits"
-msgstr "E11: Invalide dans la fenêtre ligne-de-commande; <CR> exécute, CTRL-C q"
-
-# TODO
+msgstr ""
+"E11: Invalide dans la fenêtre ligne-de-commande ; <CR> exécute, CTRL-C quitte"
+
 msgid "E12: Command not allowed from exrc/vimrc in current dir or tag search"
-msgstr "E12: Cmde interdite à partir d'un exrc/vimrc dans rép. cour. ou tag search"
+msgstr ""
+"E12: commande non autorisée depuis un exrc/vimrc dans répertoire courant ou "
+"une recherche de marqueur"
 
 msgid "E171: Missing :endif"
 msgstr "E171: :endif manquant"
@@ -5180,28 +6129,32 @@ msgstr "E600: :endtry manquant"
 msgid "E170: Missing :endwhile"
 msgstr "E170: :endwhile manquant"
 
+msgid "E170: Missing :endfor"
+msgstr "E170: :endfor manquant"
+
 msgid "E588: :endwhile without :while"
 msgstr "E588: :endwhile sans :while"
 
+msgid "E588: :endfor without :for"
+msgstr "E588: :endfor sans :for"
+
 msgid "E13: File exists (add ! to override)"
 msgstr "E13: Le fichier existe déjà (ajoutez ! pour passer outre)"
 
 msgid "E472: Command failed"
 msgstr "E472: La commande a échoué"
 
-# todo
 #, c-format
 msgid "E234: Unknown fontset: %s"
-msgstr "E234: Fontset inconnu: %s"
+msgstr "E234: Jeu de police inconnu : %s"
 
 #, c-format
 msgid "E235: Unknown font: %s"
-msgstr "E235: Fonte inconnue: %s"
-
-# TODO
+msgstr "E235: Police inconnue : %s"
+
 #, c-format
 msgid "E236: Font \"%s\" is not fixed-width"
-msgstr "E236: La fonte \"%s\" n'a pas une largeur fixe"
+msgstr "E236: La police \"%s\" n'a pas une chasse (largeur) fixe"
 
 msgid "E473: Internal error"
 msgstr "E473: Erreur interne"
@@ -5217,15 +6170,14 @@ msgstr "E474: Argument invalide"
 
 #, c-format
 msgid "E475: Invalid argument: %s"
-msgstr "E475: Argument invalide: %s"
+msgstr "E475: Argument invalide : %s"
 
 #, c-format
 msgid "E15: Invalid expression: %s"
-msgstr "E15: Expression invalide: %s"
-
-# todo
+msgstr "E15: Expression invalide : %s"
+
 msgid "E16: Invalid range"
-msgstr "E16: Domaine invalide"
+msgstr "E16: Plage invalide"
 
 msgid "E476: Invalid command"
 msgstr "E476: Commande invalide"
@@ -5234,36 +6186,31 @@ msgstr "E476: Commande invalide"
 msgid "E17: \"%s\" is a directory"
 msgstr "E17: \"%s\" est un répertoire"
 
-msgid "E18: Unexpected characters before '='"
-msgstr "E18: Caractères inattendus avant '='"
-
 #, c-format
 msgid "E364: Library call failed for \"%s()\""
-msgstr "E364: L'appel dans la bibliothèque a échoué pour \"%s()\""
+msgstr "E364: L'appel à la bibliothèque a échoué pour \"%s()\""
 
 #, c-format
 msgid "E448: Could not load library function %s"
-msgstr "E448: Pas pu charger la fonction %s de la bibliothèque"
+msgstr "E448: Impossible de charger la fonction %s de la bibliothèque"
 
 msgid "E19: Mark has invalid line number"
 msgstr "E19: La marque a un numéro de ligne invalide"
 
-# todo
 msgid "E20: Mark not set"
 msgstr "E20: Marque non positionnée"
 
 msgid "E21: Cannot make changes, 'modifiable' is off"
-msgstr "E21: Ne peut rien changer, 'modifiable' est désactivé"
+msgstr "E21: Impossible de modifier, 'modifiable' est désactivé"
 
 msgid "E22: Scripts nested too deep"
-msgstr "E22: Niveau de récursion trop élevé dans les scripts"
-
-# todo
+msgstr "E22: Trop de récursion dans les scripts"
+
 msgid "E23: No alternate file"
 msgstr "E23: Pas de fichier alternatif"
 
 msgid "E24: No such abbreviation"
-msgstr "E24: Pas de telle abréviation"
+msgstr "E24: Cette abréviation n'existe pas"
 
 msgid "E477: No ! allowed"
 msgstr "E477: Le ! n'est pas autorisé"
@@ -5278,59 +6225,56 @@ msgid "E27: Farsi cannot be used: Not en
 msgstr "E27: Le support du farsi n'a pas été compilé dans cette version\n"
 
 msgid "E800: Arabic cannot be used: Not enabled at compile time\n"
-msgstr "E800: Le support de l'arabique n'a pas été compilé dans cette version\n"
-
-# todo
+msgstr "E800: Le support de l'arabe n'a pas été compilé dans cette version\n"
+
 #, c-format
 msgid "E28: No such highlight group name: %s"
-msgstr "E28: Pas de tel nom de groupe de surlignage: %s"
+msgstr "E28: Aucun nom de groupe de surbrillance %s"
 
 msgid "E29: No inserted text yet"
 msgstr "E29: Pas encore de texte inséré"
 
 msgid "E30: No previous command line"
-msgstr "E30: Pas de ligne de commande précédente"
-
-# todo
+msgstr "E30: Aucune ligne de commande précédente"
+
 msgid "E31: No such mapping"
-msgstr "E31: Pas de tel mapping"
+msgstr "E31: Mappage inexistant"
 
 msgid "E479: No match"
-msgstr "E479: Pas de correspondance"
+msgstr "E479: Aucune correspondance"
 
 #, c-format
 msgid "E480: No match: %s"
-msgstr "E480: Pas de correspondance: %s"
+msgstr "E480: Aucune correspondance : %s"
 
 msgid "E32: No file name"
-msgstr "E32: Pas de nom de fichier"
-
-# todo
+msgstr "E32: Aucun nom de fichier"
+
 msgid "E33: No previous substitute regular expression"
-msgstr "E33: Pas d'expression régulière de substitution précédente"
+msgstr "E33: Aucune expression régulière de substitution précédente"
 
 msgid "E34: No previous command"
-msgstr "E34: Pas de commande précédente"
+msgstr "E34: Aucune commande précédente"
 
 msgid "E35: No previous regular expression"
-msgstr "E35: Pas d'expression régulière précédente"
+msgstr "E35: Aucune expression régulière précédente"
 
 msgid "E481: No range allowed"
-msgstr "E481: Les domaines ne sont pas autorisés"
+msgstr "E481: Les plages ne sont pas autorisés"
 
 msgid "E36: Not enough room"
 msgstr "E36: Pas assez de place"
 
 #, c-format
 msgid "E247: no registered server named \"%s\""
-msgstr "E247: pas de serveur nommé \"%s\" inscrit"
+msgstr "E247: aucun serveur nommé \"%s\" n'est enregistré"
 
 #, c-format
 msgid "E482: Can't create file %s"
-msgstr "E482: Ne peut créer le fichier %s"
+msgstr "E482: Impossible de créer le fichier %s"
 
 msgid "E483: Can't get temp file name"
-msgstr "E483: Ne peut obtenir de nom de fichier temporaire"
+msgstr "E483: Impossible d'obtenir un nom de fichier temporaire"
 
 #, c-format
 msgid "E484: Can't open file %s"
@@ -5344,18 +6288,17 @@ msgid "E37: No write since last change (
 msgstr "E37: Modifications non enregistrées (ajoutez ! pour passer outre)"
 
 msgid "E38: Null argument"
-msgstr "E38: Argument nul"
+msgstr "E38: Argument null"
 
 msgid "E39: Number expected"
 msgstr "E39: Nombre attendu"
 
 #, c-format
 msgid "E40: Can't open errorfile %s"
-msgstr "E40: Ne peut ouvrir le fichier d'erreurs %s"
-
-# TODO
+msgstr "E40: Impossible d'ouvrir le fichier d'erreurs %s"
+
 msgid "E233: cannot open display"
-msgstr "E233: ouverture de l'affichage impossible"
+msgstr "E233: ouverture du display impossible"
 
 msgid "E41: Out of memory!"
 msgstr "E41: Mémoire épuisée"
@@ -5365,7 +6308,7 @@ msgstr "Motif introuvable"
 
 #, c-format
 msgid "E486: Pattern not found: %s"
-msgstr "E486: Motif introuvable: %s"
+msgstr "E486: Motif introuvable : %s"
 
 msgid "E487: Argument must be positive"
 msgstr "E487: L'argument doit être positif"
@@ -5374,21 +6317,29 @@ msgid "E459: Cannot go back to previous 
 msgstr "E459: Impossible de retourner au répertoire précédent"
 
 msgid "E42: No Errors"
-msgstr "E42: Pas d'erreurs"
+msgstr "E42: Aucune d'erreur"
+
+# DB - TODO : trouver une traduction valable et attestée pour "location".
+msgid "E776: No location list"
+msgstr "E776: Aucune liste d'emplacements"
 
 msgid "E43: Damaged match string"
-msgstr "E43: Le texte de la recherche est endommagé"
+msgstr "E43: Le chaîne de recherche est endommagé"
 
 msgid "E44: Corrupted regexp program"
-msgstr "E44: Le programme regexp est corrompu"
+msgstr "E44: L'automate de regexp est corrompu"
 
 msgid "E45: 'readonly' option is set (add ! to override)"
 msgstr "E45: L'option 'readonly' est activée (ajoutez ! pour passer outre)"
 
 #, c-format
-msgid "E46: Cannot set read-only variable \"%s\""
+msgid "E46: Cannot change read-only variable \"%s\""
 msgstr "E46: La variable \"%s\" est en lecture seule"
 
+#, c-format
+msgid "E46: Cannot set variable in the sandbox: \"%s\""
+msgstr "E46: Impossible de modifier une variable depuis le bac à sable : \"%s\""
+
 msgid "E47: Error while reading errorfile"
 msgstr "E47: Erreur lors de la lecture du fichier d'erreurs"
 
@@ -5398,25 +6349,23 @@ msgstr "E48: Opération interdite dans le bac à sable"
 msgid "E523: Not allowed here"
 msgstr "E523: Interdit à cet endroit"
 
-# todo
 msgid "E359: Screen mode setting not supported"
 msgstr "E359: Choix du mode d'écran non supporté"
 
 msgid "E49: Invalid scroll size"
-msgstr "E49: L'ampleur du défilement est invalide"
+msgstr "E49: Valeur de défilement invalide"
 
 msgid "E91: 'shell' option is empty"
 msgstr "E91: L'option 'shell' est vide"
 
-# todo
 msgid "E255: Couldn't read in sign data!"
-msgstr "E255: Pas pu lire les données du symbole!"
+msgstr "E255: Impossible de lire les données du symbole !"
 
 msgid "E72: Close error on swap file"
 msgstr "E72: Erreur lors de la fermeture du fichier d'échange"
 
 msgid "E73: tag stack empty"
-msgstr "E73: La pile des étiquettes est vide"
+msgstr "E73: La pile des marqueurs est vide"
 
 msgid "E74: Command too complex"
 msgstr "E74: Commande trop complexe"
@@ -5440,55 +6389,53 @@ msgid "E79: Cannot expand wildcards"
 msgstr "E79: Impossible de développer les métacaractères"
 
 msgid "E591: 'winheight' cannot be smaller than 'winminheight'"
-msgstr "E591: 'winheight' ne peut être plus petit que 'winminheight'"
+msgstr "E591: 'winheight' ne peut pas être plus petit que 'winminheight'"
 
 msgid "E592: 'winwidth' cannot be smaller than 'winminwidth'"
-msgstr "E592: 'winwidth' ne peut être plus petit que 'winminwidth'"
+msgstr "E592: 'winwidth' ne peut pas être plus petit que 'winminwidth'"
 
 msgid "E80: Error while writing"
 msgstr "E80: Erreur lors de l'écriture"
 
-# todo
 msgid "Zero count"
-msgstr "Le compte vaut zéro"
+msgstr "Le quantificateur est nul"
 
 msgid "E81: Using <SID> not in a script context"
 msgstr "E81: <SID> utilisé en dehors d'un script"
 
-# todo
 msgid "E449: Invalid expression received"
 msgstr "E449: Expression invalide reçue"
 
-# todo
 msgid "E463: Region is guarded, cannot modify"
-msgstr "E463: Cette zone est verrouillée et ne peut être modifiée"
-
-#~ msgid "error reading cscope connection %d"
-#~ msgstr "erreur lors de la lecture de la connection cscope %d"
-
-#~ msgid "E260: cscope connection not found"
-#~ msgstr "E260: la connection cscope n'a pas été trouvée"
-
-#~ msgid "cscope connection closed"
-#~ msgstr "La connection cscope est fermée"
-
-#~ msgid "couldn't malloc\n"
-#~ msgstr "malloc a échoué\n"
-
-#~ msgid "%2d %-5ld  %-34s  <none>\n"
-#~ msgstr "%2d %-5ld %-34s  <aucun>\n"
-
-#~ msgid "E448: Unknown font: %s"
-#~ msgstr "E448: Fonte inconnue: %s"
-
-#~ msgid "Linear tag search"
-#~ msgstr "Recherche linéaire d'étiquette"
-
-#~ msgid "Binary tag search"
-#~ msgstr "Recherche binaire d'étiquette"
-
-#~ msgid "Can't open file %s"
-#~ msgstr "Ne peut ouvrir le fichier %s"
-
-#~ msgid "E249: couldn't read VIM instance registry property"
-#~ msgstr "E249: Pas pu lire entrée registre de l'instance de Vim"
+msgstr "E463: Cette zone est verrouillée et ne peut pas être modifiée"
+
+msgid "E744: NetBeans does not allow changes in read-only files"
+msgstr ""
+"E744: NetBeans n'autorise pas la modification des fichiers en lecture seule"
+
+#, c-format
+msgid "E685: Internal error: %s"
+msgstr "E473: Erreur interne : %s"
+
+msgid "E363: pattern uses more memory than 'maxmempattern'"
+msgstr "E363: le motif utilise plus de mémoire que 'maxmempattern'"
+
+msgid "E749: empty buffer"
+msgstr "E749: tampon vide"
+
+msgid "E682: Invalid search pattern or delimiter"
+msgstr "E682: Délimiteur ou motif de recherche invalide"
+
+msgid "E139: File is loaded in another buffer"
+msgstr "E139: Le fichier est chargé dans un autre tampon"
+
+#,c-format
+msgid "E764: Option '%s' is not set"
+msgstr "E764: L'option '%s' n'est pas activée"
+
+msgid "search hit TOP, continuing at BOTTOM"
+msgstr "La recherche a atteint le HAUT, et continue en BAS"
+
+msgid "search hit BOTTOM, continuing at TOP"
+msgstr "La recherche a atteint le BAS, et continue en HAUT"
+
--- a/src/version.h
+++ b/src/version.h
@@ -35,6 +35,6 @@
  */
 #define VIM_VERSION_NODOT	"vim70e"
 #define VIM_VERSION_SHORT	"7.0e"
-#define VIM_VERSION_MEDIUM	"7.0e02 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0e02 BETA (2006 Apr 18)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0e02 BETA (2006 Apr 18, compiled "
+#define VIM_VERSION_MEDIUM	"7.0e03 BETA"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0e03 BETA (2006 Apr 19)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0e03 BETA (2006 Apr 19, compiled "