diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index ac155c8..cfeeec6 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0f.  Last change: 2006 Apr 26
+*syntax.txt*	For Vim version 7.0f.  Last change: 2006 Apr 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2654,6 +2654,14 @@
 					 scripting languages will not be
 					 loaded.
 
+Not all error highlighting that syntax/vim.vim does may be correct; VimL is a
+difficult language to highlight correctly.  A way to suppress error
+highlighting is to put: >
+
+	let g:vimsyntax_noerror = 1
+
+in your |vimrc|.
+
 
 XF86CONFIG				*xf86conf.vim* *ft-xf86conf-syntax*
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index b4d81e3..d2af818 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -1711,7 +1711,7 @@
 :Explore	pi_netrw.txt	/*:Explore*
 :Hexplore	pi_netrw.txt	/*:Hexplore*
 :Man	filetype.txt	/*:Man*
-:MkVimball	vimball.txt	/*:MkVimball*
+:MkVimball	pi_vimball.txt	/*:MkVimball*
 :N	editing.txt	/*:N*
 :Nexplore	pi_netrw.txt	/*:Nexplore*
 :Next	editing.txt	/*:Next*
@@ -4255,7 +4255,7 @@
 VimLeave	autocmd.txt	/*VimLeave*
 VimLeavePre	autocmd.txt	/*VimLeavePre*
 VimResized	autocmd.txt	/*VimResized*
-Vimball-copyright	vimball.txt	/*Vimball-copyright*
+Vimball-copyright	pi_vimball.txt	/*Vimball-copyright*
 Virtual-Replace-mode	insert.txt	/*Virtual-Replace-mode*
 VisVim	if_ole.txt	/*VisVim*
 Visual	visual.txt	/*Visual*
@@ -6519,6 +6519,7 @@
 pi_paren.txt	pi_paren.txt	/*pi_paren.txt*
 pi_spec.txt	pi_spec.txt	/*pi_spec.txt*
 pi_tar.txt	pi_tar.txt	/*pi_tar.txt*
+pi_vimball.txt	pi_vimball.txt	/*pi_vimball.txt*
 pi_zip.txt	pi_zip.txt	/*pi_zip.txt*
 plaintex.vim	syntax.txt	/*plaintex.vim*
 plsql	sql.txt	/*plsql*
@@ -7639,13 +7640,12 @@
 vim-variable	eval.txt	/*vim-variable*
 vim.vim	syntax.txt	/*vim.vim*
 vim:	options.txt	/*vim:*
-vimball	vimball.txt	/*vimball*
-vimball-contents	vimball.txt	/*vimball-contents*
-vimball-extract	vimball.txt	/*vimball-extract*
-vimball-history	vimball.txt	/*vimball-history*
-vimball-manual	vimball.txt	/*vimball-manual*
-vimball-vimballlist	vimball.txt	/*vimball-vimballlist*
-vimball.txt	vimball.txt	/*vimball.txt*
+vimball	pi_vimball.txt	/*vimball*
+vimball-contents	pi_vimball.txt	/*vimball-contents*
+vimball-extract	pi_vimball.txt	/*vimball-extract*
+vimball-history	pi_vimball.txt	/*vimball-history*
+vimball-manual	pi_vimball.txt	/*vimball-manual*
+vimball-vimballlist	pi_vimball.txt	/*vimball-vimballlist*
 vimdev	intro.txt	/*vimdev*
 vimdiff	diff.txt	/*vimdiff*
 vimfiles	options.txt	/*vimfiles*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 5f7968a..9bad168 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0f.  Last change: 2006 Apr 26
+*todo.txt*      For Vim version 7.0f.  Last change: 2006 Apr 27
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,9 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+GTK: tooltips make menu actions use wrong tab page. Yegappan will look into
+it.
+
 Add more tests for all new functionality in Vim 7.  Especially new functions.
 
 Darren Hiebert is including the patch for omni completion in ctags.  A new
@@ -2349,6 +2352,7 @@
 8   Add text object for any kind of parens, also multi-byte ones.
 7   Add text object for current search pattern: "a/" and "i/".  Makes it
     possible to turn text highlighted for 'hlsearch' into a Visual area.
+8   Add a way to make an ":omap" for a user-defined text object.
 8   Add "gp" and "gP" commands: insert text and make sure there is a single
     space before it, unless at the start of the line, and after it, unless at
     the end of the line or before a ".".
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 10e54bb..820aa92 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0f.  Last change: 2006 Apr 26
+*version7.txt*  For Vim version 7.0f.  Last change: 2006 Apr 27
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -893,6 +893,7 @@
 asterisk and asteriskvm syntax file. (Tilghman Lesher)
 BDF ftplugin file. (Nikolai Weibull)
 BibTeX indent file. (Dorai Sitaram)
+BibTeX Bibliography Style syntax file. (Tim Pope)
 BTM ftplugin file. (Bram Moolenaar)
 calendar ftplugin file. (Nikolai Weibull)
 Changelog indent file. (Nikolai Weibull)
@@ -913,6 +914,7 @@
 eterm ftplugin file. (Nikolai Weibull)
 eviews syntax file. (Vaidotas Zemlys)
 fetchmail RC ftplugin file. (Nikolai Weibull)
+FlexWiki syntax and ftplugin file. (George Reilly)
 Generic indent file. (Dave Silvia)
 gpg ftplugin file. (Nikolai Weibull)
 gretl syntax file. (Vaidotas Zemlys)
@@ -939,6 +941,7 @@
 MGL syntax file. (Gero Kuhlmann)
 modconf ftplugin file. (Nikolai Weibull)
 mplayer config ftplugin file. (Nikolai Weibull)
+Mrxvtrc syntax and ftplugin file. (Gautam Iyer)
 MuPAD source syntax, indent and ftplugin. (Dave Silvia)
 mutt RC ftplugin file. (Nikolai Weibull)
 nanorc syntax and ftplugin file. (Nikolai Weibull)
@@ -2616,7 +2619,7 @@
 
 Win32: selecting the tab label was off by one. (Yegappan Lakshmanan)
 
-Added tooltips for Motif tab page labels. (Yegappan Lakshmanan)
+Added tooltips for Motif and GTK tab page labels. (Yegappan Lakshmanan)
 
 When 'encoding' is "utf-8" then ":help spell" would report an illegal byte and
 the file was not converted from latin1 to utf-8.  Now retry with latin1 if
@@ -2661,5 +2664,18 @@
 editing it in another way would.  Use fname_expand() in buf_set_name() instead
 of simply make the file name a full path.
 
+Using feedkeys() could cause Vim to hang.
+
+When closing another tab page from the tabline menu in Insert mode the tabline
+was not updated right away.
+
+The syntax menu didn't work in compatible mode.
+
+After using ":ta id" twice with the same "id", ":ts" and then ":pop" a ":ts"
+reported no matching tag.  Clear the cached tag name.
+
+In Insert mode the matchparen plugin highlighted the wrong paren when there is
+a string just next to a paren.
+
 
  vim:tw=78:ts=8:ft=help:norl:
diff --git a/runtime/doc/vimball.txt b/runtime/doc/vimball.txt
deleted file mode 100644
index ce8bc49..0000000
--- a/runtime/doc/vimball.txt
+++ /dev/null
@@ -1,76 +0,0 @@
-*vimball.txt*	For Vim version 7.0f.  Last change: 2006 Apr 25
-
-	Vimball Archiver
-
-Author:  Charles E. Campbell, Jr.  <NdrOchip@ScampbellPfamily.AbizM>
-	  (remove NOSPAM from Campbell's email first)
-Copyright: (c) 2004-2006 by Charles E. Campbell, Jr.	*Vimball-copyright*
-           The VIM LICENSE applies to Vimball.vim, and Vimball.txt
-           (see |copyright|) except use "Vimball" instead of "Vim".
-	   No warranty, express or implied.
-	   Use At-Your-Own-Risk!
-
-==============================================================================
-1. Contents					*vimball* *vimball-contents*
-
-	1. Contents......................................: |vimball-contents|
-	2. Vimball Manual................................: |vimball-manual|
-	3. Vimball History...............................: |vimball-history|
-
-
-==============================================================================
-2. Vimball Manual					*vimball-manual*
-
-							*:MkVimball*
-		:[range]MkVimball[!] filename
-
-	This command takes lines holding a path to files to be included in
-	your vimball; as an example: >
-		plugin/something.vim
-		doc/something.txt
-<	using MkVimball on this range will create a file called
-	"filename.vba" which can be used by Vimball.vim to re-create these
-	files.  If the "filename.vba" file already exists, then MkVimball
-	will issue a warning and not create the file.
-
-	However, if you use the exclamation point (!), then MkVimball will
-	create the "filename.vba" file, overwriting it if it already exists.
-	This behavior resembles that for |:w|.
-
-							*vimball-extract*
-		vim filename.vba
-
-	Simply editing a Vimball will cause Vimball.vim to tell the user to
-	source the file to extract its contents.
-
-	Extraction will only proceed if the first line of a putative vimball
-	file holds the "Vimball Archiver by Charles E.  Campbell, Jr., Ph.D."
-	line.
-
-		:VimballList				*vimball-vimballlist*
-	
-	This command will tell Vimball to list the files in the archive, along
-	with their lengths in lines.
-
-
-==============================================================================
-3. Vimball History					*vimball-history*
-
-	7  : Apr 25, 2006 * bypasses foldenable
-	                  * uses more exe and less norm! (:yank :put etc)
-			  * does better at insuring a "Press ENTER" prompt
-			    appears to keep its messages visible
-	4  : Mar 31, 2006 * BufReadPost seems to fire twice; BufReadEnter
-	                    only fires once, so the "Source this file..."
-			    message is now issued only once.
-	3  : Mar 20, 2006 * removed query, now requires sourcing to be
-	                    extracted (:so %).  Message to that effect
-			    included.
-			  * :VimballList  now shows files that would be
-			    extracted.
-	2  : Mar 20, 2006 * query, :UseVimball included
-	1  : Mar 20, 2006 * initial release
-
-
-==============================================================================
-vim:tw=78:ts=8:ft=help:fdm=marker
