updated for version 7.0060
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 9e4f850..0e8d3fc 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 Mar 07
+*eval.txt*      For Vim version 7.0aa.  Last change: 2005 Mar 15
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -9,7 +9,7 @@
 Using expressions is introduced in chapter 41 of the user manual |usr_41.txt|.
 
 Note: Expression evaluation can be disabled at compile time.  If this has been
-done, the features in this document are not available.  See |+eval| and 
+done, the features in this document are not available.  See |+eval| and
 |no-eval-feature|.
 
 1.  Variables			|variables|
@@ -445,7 +445,7 @@
 adict.
 
 Weeding out entries from a Dictionary can be done with |filter()|: >
-	:call filter(dict 'v:val =~ "x"') 
+	:call filter(dict 'v:val =~ "x"')
 This removes all entries from "dict" with a value not matching 'x'.
 
 
@@ -1454,7 +1454,7 @@
 empty( {expr})			Number	TRUE if {expr} is empty
 errorlist()			List	list of quickfix items
 escape( {string}, {chars})	String	escape {chars} in {string} with '\'
-eval( {string})			any	evaluate {string} into its value 
+eval( {string})			any	evaluate {string} into its value
 eventhandler( )			Number	TRUE if inside an event handler
 executable( {expr})		Number	1 if executable {expr} exists
 exists( {expr})			Number	TRUE if {expr} exists
@@ -1597,6 +1597,7 @@
 				String	attribute {what} of syntax ID {synID}
 synIDtrans( {synID})		Number	translated syntax ID of {synID}
 system( {expr} [, {input}])	String	output of shell command/filter {expr}
+taglist({expr})			List	list of tags matching {expr}
 tempname()			String	name for a temporary file
 tolower( {expr})		String	the String {expr} switched to lowercase
 toupper( {expr})		String	the String {expr} switched to uppercase
@@ -2494,7 +2495,7 @@
 			:echo getfperm("/etc/passwd")
 <		This will hopefully (from a security point of view) display
 		the string "rw-r--r--" or even "rw-------".
-  
+
 getftime({fname})					*getftime()*
 		The result is a Number, which is the last modification time of
 		the given file {fname}.  The value is measured as seconds
@@ -3706,7 +3707,7 @@
 			:let comma1 = stridx(line, ",")
 			:let comma2 = stridx(line, ",", comma1 + 1)
 <		The search is done case-sensitive.
-		For pattern searches use |match()|. 
+		For pattern searches use |match()|.
 		-1 is returned if the {needle} does not occur in {haystack}.
 		See also |strridx()|.
 		Examples: >
@@ -3852,6 +3853,7 @@
 		"reverse"	"1" if reverse
 		"inverse"	"1" if inverse (= reverse)
 		"underline"	"1" if underlined
+		"undercurl"	"1" if undercurled
 
 		Example (echoes the color of the syntax item under the
 		cursor): >
@@ -3891,6 +3893,39 @@
 		Unlike ":!cmd" there is no automatic check for changed files.
 		Use |:checktime| to force a check.
 
+
+taglist({expr})							*taglist()*
+		Returns a list of tags matching the regular expression {expr}.
+		Each list item is a dictionary with the following entries:
+			name		name of the tag.
+			filename	name of the file where the tag is
+					defined.
+			cmd		Ex command used to locate the tag in
+					the file.
+			kind		type of the tag. The value for this
+					entry depends on the language specific
+					kind values generated by the ctags
+					tool.
+			static		a file specific tag.  Refer to
+					|static-tag| for more information.
+		More entries may be present, depending on the content of the
+		tags file: access, implementation, inherits and signature.
+		Refer to the ctags documentation for information about these
+		fields.  For C code the fields "struct", "class" and "enum"
+		may appear, they give the name of the entity the tag is
+		contained in.
+
+		If there are no matching tags, then an empty list is returned.
+
+		To get an exact tag match, the anchors '^' and '$' should be
+		used in {expr}.  Refer to |tag-regexp| for more information
+		about the tag search regular expression pattern.
+
+		Refer to |'tags'| for information about how the tags file is
+		located by Vim. Refer to |tags-file-format| for the format of
+		the tags file generated by the different ctags tools.
+
+
 tempname()					*tempname()* *temp-file-name*
 		The result is a String, which is the name of a file that
 		doesn't exist.  It can be used for a temporary file.  The name
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index f3ec971..46000c0 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2005 Mar 10
+*options.txt*	For Vim version 7.0aa.  Last change: 2005 Mar 14
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -3356,6 +3356,7 @@
 		b	bold		(termcap entry "md" and "me")
 		s	standout	(termcap entry "so" and "se")
 		u	underline	(termcap entry "us" and "ue")
+		c	undercurl	(termcap entry "Cs" and "Ce")
 		n	no highlighting
 		-	no highlighting
 		:	use a highlight group
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 666e574..1cfff84 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -767,7 +767,9 @@
 't_AL'	term.txt	/*'t_AL'*
 't_CS'	term.txt	/*'t_CS'*
 't_CV'	term.txt	/*'t_CV'*
+'t_Ce'	term.txt	/*'t_Ce'*
 't_Co'	term.txt	/*'t_Co'*
+'t_Cs'	term.txt	/*'t_Cs'*
 't_DL'	term.txt	/*'t_DL'*
 't_EI'	term.txt	/*'t_EI'*
 't_F1'	term.txt	/*'t_F1'*
@@ -5093,6 +5095,7 @@
 hebrew.txt	hebrew.txt	/*hebrew.txt*
 help	various.txt	/*help*
 help-context	help.txt	/*help-context*
+help-tags	tags	1
 help-translated	various.txt	/*help-translated*
 help-xterm-window	various.txt	/*help-xterm-window*
 help.txt	help.txt	/*help.txt*
@@ -5112,6 +5115,7 @@
 highlight-gui	syntax.txt	/*highlight-gui*
 highlight-guibg	syntax.txt	/*highlight-guibg*
 highlight-guifg	syntax.txt	/*highlight-guifg*
+highlight-guisp	syntax.txt	/*highlight-guisp*
 highlight-start	syntax.txt	/*highlight-start*
 highlight-stop	syntax.txt	/*highlight-stop*
 highlight-term	syntax.txt	/*highlight-term*
@@ -6297,7 +6301,9 @@
 t_AL	term.txt	/*t_AL*
 t_CS	term.txt	/*t_CS*
 t_CV	term.txt	/*t_CV*
+t_Ce	term.txt	/*t_Ce*
 t_Co	term.txt	/*t_Co*
+t_Cs	term.txt	/*t_Cs*
 t_DL	term.txt	/*t_DL*
 t_EI	term.txt	/*t_EI*
 t_F1	term.txt	/*t_F1*
diff --git a/runtime/doc/usr_10.txt b/runtime/doc/usr_10.txt
index 807d2f9..9e536d5 100644
--- a/runtime/doc/usr_10.txt
+++ b/runtime/doc/usr_10.txt
@@ -1,4 +1,4 @@
-*usr_10.txt*	For Vim version 7.0aa.  Last change: 2004 Mar 12
+*usr_10.txt*	For Vim version 7.0aa.  Last change: 2005 Mar 15
 
 		     VIM USER MANUAL - by Bram Moolenaar
 
@@ -437,7 +437,8 @@
 insert command and affects only the first line of the block.
 
 The "A" command works the same way, except that it appends after the right
-side of the block.
+side of the block.  And it does insert text in a short line.  Thus you can
+make a choice whether you do or don't want to append text to a short line.
    There is one special case for "A": Select a Visual block and then use "$"
 to make the block extend to the end of each line.  Using "A" now will append
 the text to the end of each line.
diff --git a/runtime/menu.vim b/runtime/menu.vim
index 3b15111..0eed68f 100644
--- a/runtime/menu.vim
+++ b/runtime/menu.vim
@@ -2,7 +2,7 @@
 " You can also use this as a start for your own set of menus.
 "
 " Maintainer:	Bram Moolenaar <Bram@vim.org>
-" Last Change:	2005 Feb 24
+" Last Change:	2005 Mar 15
 
 " Note that ":an" (short for ":anoremenu") is often used to make a menu work
 " in all modes and avoid side effects from mappings defined by the user.
@@ -56,9 +56,9 @@
       let s:lang = substitute(s:lang, '\.[^.]*', "", "")
       exe "runtime! lang/menu_" . s:lang . "[^a-z]*vim"
 
-      if !exists("did_menu_trans") && strlen($LANG) > 1
+      if !exists("did_menu_trans") && strlen($LANG) > 1 && s:lang !~ '^en_us'
 	" On windows locale names are complicated, try using $LANG, it might
-	" have been set by set_init_1().
+	" have been set by set_init_1().  But don't do this for "en" or "en_us".
 	" But don't match "slovak" when $LANG is "sl".
 	exe "runtime! lang/menu_" . tolower($LANG) . "[^a-z]*vim"
       endif
@@ -854,28 +854,13 @@
 
   if !has("gui_athena")
     an 1.95   ToolBar.-sep3-		<Nop>
-    an 1.100  ToolBar.Find		:promptfind<CR>
-    vunmenu   ToolBar.Find
-    vnoremenu ToolBar.Find		y:promptfind <C-R>"<CR>
-    an 1.110  ToolBar.FindNext		n
-    an 1.120  ToolBar.FindPrev		N
-    an 1.130  ToolBar.Replace		:promptrepl<CR>
+    an 1.100  ToolBar.Replace		:promptrepl<CR>
     vunmenu   ToolBar.Replace
     vnoremenu ToolBar.Replace		y:promptrepl <C-R>"<CR>
+    an 1.110  ToolBar.FindNext		n
+    an 1.120  ToolBar.FindPrev		N
   endif
 
-if 0	" disabled; These are in the Windows menu
-  an 1.135 ToolBar.-sep4-		<Nop>
-  an 1.140 ToolBar.New			<C-W>n
-  an 1.150 ToolBar.WinSplit		<C-W>s
-  an 1.160 ToolBar.WinMax		:resize 200<CR>
-  an 1.170 ToolBar.WinMin		:resize 1<CR>
-  an 1.180 ToolBar.WinVSplit		<C-W>v
-  an 1.190 ToolBar.WinMaxWidth		<C-W>500>
-  an 1.200 ToolBar.WinMinWidth		<C-W>1\|
-  an 1.210 ToolBar.WinClose		:close<CR>
-endif
-
   an 1.215 ToolBar.-sep5-		<Nop>
   an <silent> 1.220 ToolBar.LoadSesn	:call <SID>LoadVimSesn()<CR>
   an <silent> 1.230 ToolBar.SaveSesn	:call <SID>SaveVimSesn()<CR>
@@ -910,21 +895,11 @@
     tmenu ToolBar.FindPrev	Find Previous
     tmenu ToolBar.Replace		Find / Replace...
   endif
- if 0	" disabled; These are in the Windows menu
-  tmenu ToolBar.New		New Window
-  tmenu ToolBar.WinSplit	Split Window
-  tmenu ToolBar.WinMax		Maximise Window
-  tmenu ToolBar.WinMin		Minimise Window
-  tmenu ToolBar.WinVSplit	Split Window Vertically
-  tmenu ToolBar.WinMaxWidth	Maximise Window Width
-  tmenu ToolBar.WinMinWidth	Minimise Window Width
-  tmenu ToolBar.WinClose	Close Window
- endif
-  tmenu ToolBar.LoadSesn	Load session
+  tmenu ToolBar.LoadSesn	Chose a session to load
   tmenu ToolBar.SaveSesn	Save current session
-  tmenu ToolBar.RunScript	Run a Vim Script
-  tmenu ToolBar.Make		Make current project
-  tmenu ToolBar.RunCtags	Build tags in current directory tree
+  tmenu ToolBar.RunScript	Chose a Vim Script to run
+  tmenu ToolBar.Make		Make current project (:make)
+  tmenu ToolBar.RunCtags	Build tags in current directory tree (!ctags -R .)
   tmenu ToolBar.TagJump		Jump to tag under cursor
   tmenu ToolBar.Help		Vim Help
   tmenu ToolBar.FindHelp	Search Vim Help
diff --git a/runtime/tutor/tutor.vim b/runtime/tutor/tutor.vim
index 754f3c0..8621ae2 100644
--- a/runtime/tutor/tutor.vim
+++ b/runtime/tutor/tutor.vim
@@ -1,6 +1,6 @@
 " Vim tutor support file
 " Author: Eduardo F. Amatria <eferna1@platea.pntic.mec.es>
-" Last Change:	2004 Sep 06
+" Last Change:	2005 Mar 15
 
 " This small source file is used for detecting if a translation of the
 " tutor file exist, i.e., a tutor.xx file, where xx is the language.
@@ -15,11 +15,16 @@
   let s:ext = "." . $xx
 else
   let s:lang = ""
-  if exists("v:lang") && v:lang != "C"
+  if exists("v:lang")
     let s:lang = v:lang
-  elseif strlen($LANG) > 0 && $LANG != "C"
+  elseif strlen($LC_ALL) > 0
+    let s:lang = $LC_ALL
+  elseif strlen($LANG) > 0
     let s:lang = $LANG
   endif
+  if s:lang == "C"
+    let s:lang = ""
+  endif
   if s:lang != ""
     " Remove "@euro" (ignoring case), it may be at the end
     let s:lang = substitute(s:lang, '\c@euro', '', '')