diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index dc58f1c..034276b 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Jan 31
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Feb 02
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -80,8 +80,8 @@
 "foo" is converted to 0, which means FALSE.  To test for a non-empty string,
 use strlen(): >
 	:if strlen("foo")
-<						*E728* *E729* *E730* *E731*
-List and Funcref types are not automatically converted.
+<				*E745* *E728* *E703* *E729* *E730* *E731*
+List, Dictionary and Funcref types are not automatically converted.
 
 								*E706*
 You will get an error if you try to change the type of a variable.  You need
@@ -93,7 +93,7 @@
 
 
 1.2 Function references ~
-					*Funcref* *E695* *E703* *E718*
+					*Funcref* *E695* *E718*
 A Funcref variable is obtained with the |function()| function.  It can be used
 in an expression in the place of a function name, before the parenthesis
 around the arguments, to invoke the function it refers to.  Example: >
@@ -1560,11 +1560,11 @@
 
 
 append({lnum}, {expr})					*append()*
-		When {expr} is a List: Append each item of the list as a text
+		When {expr} is a List: Append each item of the List as a text
 		line below line {lnum} in the current buffer.
-		Otherwise append the text line {expr} below line {lnum} in the
-		current buffer.
-		{lnum} can be zero, to insert a line before the first one.
+		Otherwise append {expr} as one text line below line {lnum} in
+		the current buffer.
+		{lnum} can be zero to insert a line before the first one.
 		Returns 1 for failure ({lnum} out of range or out of memory),
 		0 for success.  Example: >
 			:let failed = append(line('$'), "# THE END")
@@ -2683,7 +2683,8 @@
 index({list}, {expr} [, {start} [, {ic}]])			*index()*
 		Return the lowest index in List {list} where the item has a
 		value equal to {expr}.
-		If {start} is given then skip items with a lower index.
+		If {start} is given then start looking at the item with index
+		{start} (may be negative for an item relative to the end).
 		When {ic} is given and it is non-zero, ignore case.  Otherwise
 		case must match.
 		-1 is returned when {expr} is not found in {list}.
@@ -3762,15 +3763,17 @@
 
 							*type()*
 type({expr})	The result is a Number, depending on the type of {expr}:
-			Number:  0
-			String:  1
-			Funcref: 2
-			List:    3
-		To avoid the magic numbers it can be used this way: >
+			Number:	    0
+			String:	    1
+			Funcref:    2
+			List:	    3
+			Dictionary: 4
+		To avoid the magic numbers it should be used this way: >
 			:if type(myvar) == type(0)
 			:if type(myvar) == type("")
 			:if type(myvar) == type(function("tr"))
 			:if type(myvar) == type([])
+			:if type(myvar) == type({})
 
 values({dict})						*values()*
 		Return a List with all the values of {dict}.  The List is in
@@ -4358,7 +4361,7 @@
 			When the selected range of items is partly past the
 			end of the list, items will be added.
 
-						*:let+=* *:let-=* *:let.=*
+					*:let+=* *:let-=* *:let.=* *E734*
 :let {var} += {expr1}	Like ":let {var} = {var} + {expr1}".
 :let {var} -= {expr1}	Like ":let {var} = {var} - {expr1}".
 :let {var} .= {expr1}	Like ":let {var} = {var} . {expr1}".
diff --git a/runtime/doc/netbeans.txt b/runtime/doc/netbeans.txt
index 11c24a6..5007122 100644
--- a/runtime/doc/netbeans.txt
+++ b/runtime/doc/netbeans.txt
@@ -560,6 +560,9 @@
 stopDocumentListen
 		Mark the buffer to stop reporting changes to the IDE.
 		Opposite of startDocumentListen.
+		NOTE: if "netbeansBuffer" was used to mark this buffer as a
+		NetBeans buffer, then the buffer is deleted in Vim.  This is
+		for compatibility with Sun Studio 10.
 
 unguard off len
 		Opposite of "guard", remove guarding for a text area.
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 227d1f3..c8e765f 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -3639,6 +3639,7 @@
 E731	eval.txt	/*E731*
 E732	eval.txt	/*E732*
 E733	eval.txt	/*E733*
+E734	eval.txt	/*E734*
 E735	eval.txt	/*E735*
 E736	eval.txt	/*E736*
 E737	eval.txt	/*E737*
@@ -3650,6 +3651,7 @@
 E742	eval.txt	/*E742*
 E743	eval.txt	/*E743*
 E744	netbeans.txt	/*E744*
+E745	eval.txt	/*E745*
 E75	vi_diff.txt	/*E75*
 E76	pattern.txt	/*E76*
 E77	message.txt	/*E77*
diff --git a/runtime/ftplugin/vhdl.vim b/runtime/ftplugin/vhdl.vim
new file mode 100644
index 0000000..3e4ca4b
--- /dev/null
+++ b/runtime/ftplugin/vhdl.vim
@@ -0,0 +1,41 @@
+" Vim filetype plugin file
+" Language: VHDL
+" Maintainer:   R.Shankar (shankar at txc.stpn.soft.net)
+" Last Change:  Tue Oct 8
+
+
+" 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
+
+" Set 'formatoptions' to break comment lines but not other lines,
+" and insert the comment leader when hitting <CR> or using "o".
+"setlocal fo-=t fo+=croqlm1
+
+" Set 'comments' to format dashed lists in comments.
+"setlocal comments=sO:*\ -,mO:*\ \ ,exO:*/,s1:/*,mb:*,ex:*/,://
+
+" Format comments to be up to 78 characters long
+setlocal tw=75
+
+set cpo-=C
+
+" Win32 can filter files in the browse dialog
+"if has("gui_win32") && !exists("b:browsefilter")
+"  let b:browsefilter = "Verilog Source Files (*.v)\t*.v\n" .
+"   \ "All Files (*.*)\t*.*\n"
+"endif
+
+" Let the matchit plugin know what items can be matched.
+if ! exists("b:match_words")  &&  exists("loaded_matchit")
+  let b:match_ignorecase=1
+  let s:notend = '\%(\<end\s\+\)\@<!'
+  let b:match_words=
+  \ s:notend . '\<if\>:\<elsif\>:\<else\>:\<end\>\s\+\<if\>,' .
+  \ s:notend . '\<case\>:\<when\>:\<end\>\s\+\<case\>,' .
+  \ s:notend . '\<process\>:\<end\>\s\+\<process\>'
+endif
