diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 6b9a6ad..c3f6947 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0f.  Last change: 2006 Apr 25
+*eval.txt*      For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1184,6 +1184,9 @@
 v:beval_winnr	The number of the window, over which the mouse pointer is. Only
 		valid while evaluating the 'balloonexpr' option.
 
+					*v:char* *char-variable*
+v:char		Argument for evaluating 'formatexpr'.
+
 			*v:charconvert_from* *charconvert_from-variable*
 v:charconvert_from
 		The name of the character encoding of a file to be converted.
diff --git a/runtime/doc/insert.txt b/runtime/doc/insert.txt
index 61aaa6f..a0ef63c 100644
--- a/runtime/doc/insert.txt
+++ b/runtime/doc/insert.txt
@@ -1,4 +1,4 @@
-*insert.txt*    For Vim version 7.0f.  Last change: 2006 Apr 25
+*insert.txt*    For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -610,6 +610,9 @@
 ends CTRL-X mode (any key that is not a valid CTRL-X mode command) is mapped.
 Also, when doing completion with 'complete' mappings apply as usual.
 
+Note: While completion is active Insert mode can't be used recursively.
+Mappings that somehow invoke ":normal i.." will generate an E523 error.
+
 The following mappings are suggested to make typing the completion commands
 a bit easier (although they will hide other commands): >
     :inoremap ^] ^X^]
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index ebcb6c9..c2e3011 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0f.  Last change: 2006 Apr 25
+*options.txt*	For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -2469,8 +2469,8 @@
 			{not available when compiled without the |+autocmd|
 			feature}
 	A list of autocommand event names, which are to be ignored.
-	When set to "all", all autocommand events are ignored, autocommands
-	will not be executed.
+	When set to "all" or when "all" is one of the items, all autocommand
+	events are ignored, autocommands will not be executed.
 	Otherwise this is a comma separated list of event names.  Example: >
 	    :set ei=WinEnter,WinLeave
 <
@@ -2987,9 +2987,13 @@
 			{not available when compiled without the |+eval|
 			feature}
 	Expression which is evaluated to format a range of lines for the |gq|
-	operator.  The |v:lnum| variable holds the first line to be formatted,
-	|v:count| the number of lines to be formatted.
-	When this option is empty 'formatprg' is used.
+	operator.  When this option is empty 'formatprg' is used.
+
+	The |v:lnum|  variable holds the first line to be formatted.
+	The |v:count| variable the number of lines to be formatted.
+	The |v:char|  variable the character to be inserted.  This can be
+		      empty.  Don't insert it yet!
+
 	Example: >
 		:set formatexpr=mylang#Format()
 <	This will invoke the mylang#Format() function in the
diff --git a/runtime/doc/pi_netrw.txt b/runtime/doc/pi_netrw.txt
index f535779..4c74a5d 100644
--- a/runtime/doc/pi_netrw.txt
+++ b/runtime/doc/pi_netrw.txt
@@ -1,4 +1,4 @@
-*pi_netrw.txt*  For Vim version 7.0f.  Last change: Apr 22, 2006
+*pi_netrw.txt*  For Vim version 7.0f.  Last change: 2006 Apr 26
 
 		VIM REFERENCE MANUAL    by Charles E. Campbell, Jr.
 
@@ -1473,6 +1473,11 @@
 ==============================================================================
 11. History						*netrw-history* {{{1
 
+	v94: * bugfix - a Decho() had a missing quote; only affects things
+	       when debugging was enabled.
+	v93: * bugfix - removed FocusGained event from causing a slow-browser
+	       refresh for Windows
+	v92: * :Explore **//pattern implemented  (**/filepattern already taken)
 	v91: * :Explore */pattern implemented
 	     * |'acd'| option bypassed
 	v90: * mark ', as suggested by Yegappan Lakshmanan, used to help
diff --git a/runtime/doc/sql.txt b/runtime/doc/sql.txt
index cee1139..e7d40d6 100644
--- a/runtime/doc/sql.txt
+++ b/runtime/doc/sql.txt
@@ -1,4 +1,4 @@
-*sql.txt*   	For Vim version 7.0f.  Last change: Fri Apr 21 2006 10:39:11 PM
+*sql.txt*   	For Vim version 7.0f.  Last change: Wed Apr 26 2006 3:05:33 PM
 
 by David Fishburn
 
@@ -411,14 +411,16 @@
      Stored Procedure List  - <C-C>p
      View List              - <C-C>v
      Column List            - <C-C>c
-                            - Windows platform only
-                            - When viewing a popup window displaying the list
+
+     Windows platform only  - When viewing a popup window displaying the list
                               of tables, you can press <C-Right>, this will
                               replace the table currently highlighted with
                               the column list for that table.
                             - When viewing a popup window displaying the list
                               of columns, you can press <C-Left>, this will
                               replace the column list with the list of tables.
+                            - This allows you to quickly drill down into a
+                              table to view it's columns and back again.
  
 The SQL completion plugin caches various lists that are displayed in
 the popup window.  This makes the re-displaying of these lists very
@@ -500,9 +502,10 @@
 the popup window is active.  This map is only available on the Windows
 platforms since *nix does not recognize CTRL and the right arrow held down
 together.  If you wish to enable this functionality on a *nix platform choose
-a key and create this mapping (see |sql-completion-maps| for further 
+a key and create one of these mappings (see |sql-completion-maps| for further
 details on where to create this imap): >
-    imap <buffer> <your_keystroke> <CR><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
+    imap <buffer> <your_keystroke> <C-R>=sqlcomplete#DrillIntoTable()<CR>
+    imap <buffer> <your_keystroke> <C-Y><C-\><C-O>:call sqlcomplete#Map('column')<CR><C-X><C-O>
  
 Example of using column completion:
      - Press <C-C>t again to display the list of tables.  
@@ -517,9 +520,8 @@
        change the schema of a cached table you can press <C-C>R, which
        clears the SQL completion cache.  
      - NOTE: <C-Right> and <C-Left> have been designed to work while the
-       completion window is active.  If you use these maps when the completion
-       window is not active a carriage return will be inadvertently entered in
-       your buffer.
+       completion window is active.  If the completion popup window is 
+       not active, a normal <C-Right> or <C-Left> will be executed.
  
 Lets look how we can build a SQL statement dynamically.  A select statement
 requires a list of columns.  There are two ways to build a column list using
@@ -549,7 +551,7 @@
            replaced with the comma separate list of columns with the alias
            prepended to each of the columns.
         7. Step 3 and 4 can be replaced by pressing <C-C>L, which has
-           a <CR> embedded in the map to choose the currently highlighted 
+           a <C-Y> embedded in the map to choose the currently highlighted 
            table in the list.
 
 There is a special provision when writing select statements.  Consider the
@@ -687,15 +689,13 @@
           the completion window.  <C-Right> is not recognized on most Unix
           systems, so this maps is only created on the Windows platform.
           If you would like the same feature on Unix, choose a different key
-          and make the same map in your vimrc.
-          This should only be used when the completion window is active. >
+          and make the same map in your vimrc. >
     <C-Left>
 <       - Displays the list of tables.
           <C-Left> is not recognized on most Unix systems, so this maps is
           only created on the Windows platform.  If you would like the same
           feature on Unix, choose a different key and make the same map in
-          your vimrc.
-          This should only be used when the completion window is active. >
+          your vimrc. >
     <C-C>R
 <       - This maps removes all cached items and forces the SQL completion 
           to regenerate the list of items.
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index c1b517f..ac155c8 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 24
+*syntax.txt*	For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -610,6 +610,39 @@
 	:let g:filetype_asp = "aspvbs"
 
 
+BAAN 						    *baan.vim* *baan-syntax*
+
+The baan.vim gives syntax support for BaanC of release BaanIV upto SSA ERP LN
+for both 3 GL and 4 GL programming. Large number of standard defines/constants
+are supported.
+
+Some special violation of coding standards will be signalled when one specify
+in ones |.vimrc|: >
+	let baan_code_stds=1
+
+*baan-folding*
+
+Syntax folding can be enabled at various levels through the variables
+mentioned below (Set those in your |.vimrc|). The more complex folding on
+source blocks and SQL can be CPU intensive.
+
+To allow any folding and enable folding at function level use: >
+	let baan_fold=1
+Folding can be enabled at source block level as if, while, for ,... The
+indentation preceding the begin/end keywords has to match (spaces are not
+considered equal to a tab). >
+	let baan_fold_block=1
+Folding can be enabled for embedded SQL blocks as SELECT, SELECTDO,
+SELECTEMPTY, ... The indentation preceding the begin/end keywords has to 
+match (spaces are not considered equal to a tab). >
+	let baan_fold_sql=1
+Note: Block folding can result in many small folds. It is suggested to |:set| 
+the options 'foldminlines' and 'foldnestmax' in |.vimrc| or use |:setlocal| in
+.../after/syntax/baan.vim (see |after-directory|). Eg: >
+	set foldminlines=5
+	set foldnestmax=6
+
+
 BASIC			*basic.vim* *vb.vim* *ft-basic-syntax* *ft-vb-syntax*
 
 Both Visual Basic and "normal" basic use the extension ".bas".	To detect
diff --git a/runtime/doc/tabpage.txt b/runtime/doc/tabpage.txt
index 6fbdeb5..df73055 100644
--- a/runtime/doc/tabpage.txt
+++ b/runtime/doc/tabpage.txt
@@ -1,4 +1,4 @@
-*tabpage.txt*   For Vim version 7.0f.  Last change: 2006 Apr 25
+*tabpage.txt*   For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -52,6 +52,9 @@
 tab page.  It is placed left of the position of the click.  The first click
 may select another tab page first, causing an extra screen update.
 
+This also works in a few GUI versions, esp. Win32 and Motif.  But only when
+clicking right of the labels.
+
 In the GUI tab pages line you can use the right mouse button to open menu.
 |tabline-menu|.
 
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 282b79a..b4d81e3 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -4509,6 +4509,9 @@
 b:current_syntax-variable	syntax.txt	/*b:current_syntax-variable*
 b:netrw_lastfile	pi_netrw.txt	/*b:netrw_lastfile*
 b:var	eval.txt	/*b:var*
+baan-folding	syntax.txt	/*baan-folding*
+baan-syntax	syntax.txt	/*baan-syntax*
+baan.vim	syntax.txt	/*baan.vim*
 backslash	intro.txt	/*backslash*
 backspace	intro.txt	/*backspace*
 backspace-delete	version4.txt	/*backspace-delete*
@@ -4677,6 +4680,7 @@
 changenr()	eval.txt	/*changenr()*
 changetick	eval.txt	/*changetick*
 changing	change.txt	/*changing*
+char-variable	eval.txt	/*char-variable*
 char2nr()	eval.txt	/*char2nr()*
 characterwise	motion.txt	/*characterwise*
 characterwise-register	change.txt	/*characterwise-register*
@@ -7441,6 +7445,7 @@
 v:beval_lnum	eval.txt	/*v:beval_lnum*
 v:beval_text	eval.txt	/*v:beval_text*
 v:beval_winnr	eval.txt	/*v:beval_winnr*
+v:char	eval.txt	/*v:char*
 v:charconvert_from	eval.txt	/*v:charconvert_from*
 v:charconvert_to	eval.txt	/*v:charconvert_to*
 v:cmdarg	eval.txt	/*v:cmdarg*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 3dd56c0..5f7968a 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 25
+*todo.txt*      For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,8 +30,6 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-GTK: when executing shell disable tab page labels. (Sean)
-
 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
@@ -50,6 +48,7 @@
     - remove 'macatsui' option when this has been fixed.
 9   HTML indenting can be slow.  Caused by using searchpair().  Can search()
     be used instead?
+8   Win32: Add minidump generation. (George Reilly, 2006 Apr 24)
 8   Add ":n" to fnamemodify(): normalize path, remove "../" when possible.
     Aric Blumer has a patch for this.
     He will update the patch for 6.3.
@@ -627,6 +626,9 @@
     Alternate one: http://www.pramodx.20m.com/tee_for_win32.htm, but Walter
     Briscoe says it's not as good.
 8   "stl" and "stlnc" in 'fillchars' don't work for multi-byte characters.
+8   When doing Insert mode completion a mapping cannot recursively call
+    edit(), because the completion information is global.  Put everything in
+    an allocated structure?
 8   Command line completion: buffers "foo.txt" and "../b/foo.txt", completing
     ":buf foo<Tab>" doesn't find the second one. (George V. Reilly)
 7   Output for ":scriptnames" and ":breaklist" should shorten the file names:
@@ -1403,6 +1405,11 @@
 8   When using a regexp for "contains=", should delay matching with it until
     redrawing happens.  Set a flag when a group is added, check this flag when
     highlighting starts.
+7   It's possible for an item to be transparent, so that the colors of an item
+    lower on the stack is used.  Also do this with highlighting, so that the
+    user can set transparent highlighting?  E.g. a number in a C comment would
+    get the color of a comment, a number in an assignment Normal. (Nikolai
+    Weibull)
 7   Add "semitrans": Add highlighting.  E.g., make the text bold, but keep the
     colors.  And add colors, so that Green+Red becomes Yellow.
     E.g. for this html:
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index 06a0aeb..10e54bb 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 25
+*version7.txt*  For Vim version 7.0f.  Last change: 2006 Apr 26
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -2616,4 +2616,50 @@
 
 Win32: selecting the tab label was off by one. (Yegappan Lakshmanan)
 
+Added tooltips for Motif 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
+reading the file as utf-8 results in illegal bytes.
+
+Escape argument of feedkeys() before putting it in the typeahead buffer.
+(Yukihiro Nakadaira)
+
+Add v:char variable for evaluating 'formatexpr'.  (Yukihiro Nakadaira)
+
+With 8 colors Search highlighting combined with Statement highlighted text
+made the text disappear.
+
+VMS: avoid warnings for redefining MAX and MIN. (Zoltan Arpadffy)
+
+When 'virtualedit' includes "onemore", stopping Visual selection would still
+move the cursor left.
+
+Prevent that using CTRL-R = in Insert mode can start Visual mode.
+
+Fixed a crash that occured when in Insert mode with completion active a
+mapping caused edit() to be called recursively.
+
+When using CTRL-O in Insert mode just after the last character while
+'virtualedit' is "all", then typing CR moved the last character to the next
+line.  Call coladvance() before starting the new line.
+
+When using ":shell" and in the command line window ignore clicks on the tab
+page labels.
+
+When 'eventignore' is "all" then ignoring some events, e.g., for ":vimgrep",
+would actually trigger more events.
+
+Win32: When a running Vim uses server name GVIM1 then "gvim --remote fname"
+doesn't find it.  When looking for a server name that doesn't end in a digit
+and it is not found then use another server that is found (just like Unix).
+
+When using "double" in 'spellsuggest' when the language doesn't support sound
+folding resulted in too many suggestions.
+
+Win32: Dropping a shortcut on the Vim icon did't edit the referred file like
+editing it in another way would.  Use fname_expand() in buf_set_name() instead
+of simply make the file name a full path.
+
+
  vim:tw=78:ts=8:ft=help:norl:
