diff --git a/runtime/doc/autocmd.txt b/runtime/doc/autocmd.txt
index 2ca301b..4899648 100644
--- a/runtime/doc/autocmd.txt
+++ b/runtime/doc/autocmd.txt
@@ -1,4 +1,4 @@
-*autocmd.txt*   For Vim version 7.0aa.  Last change: 2006 Feb 18
+*autocmd.txt*   For Vim version 7.0aa.  Last change: 2006 Feb 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -284,8 +284,8 @@
 
 |WinEnter|		after entering another window
 |WinLeave|		before leaving a window
-|TabEnterPost|		after entering another tab page
-|TabLeavePre|		before leaving a tab page
+|TabEnter|		after entering another tab page
+|TabLeave|		before leaving a tab page
 |CmdwinEnter|		after entering the command-line window
 |CmdwinLeave|		before leaving the command-line window
 
@@ -706,14 +706,14 @@
 				where this option was set, and <amatch> for
 				the new value of 'syntax'.
 				See |:syn-on|.
-							*TabEnterPost*
-TabEnterPost			Just after entering a tab page. |tab-page|
+							*TabEnter*
+TabEnter			Just after entering a tab page. |tab-page|
 				Before triggering the WinEnter and BufEnter
 				events.
-							*TabLeavePre*
-TabLeavePre			Just before leaving a tab page. |tab-page|
-				BufLeave and WinLeave events will have been
-				triggered first.
+							*TabLeave*
+TabLeave			Just before leaving a tab page. |tab-page|
+				A WinLeave event will have been triggered
+				first.
 							*TermChanged*
 TermChanged			After the value of 'term' has changed.  Useful
 				for re-loading the syntax file to update the
diff --git a/runtime/doc/eval.txt b/runtime/doc/eval.txt
index 9bad529..474f863 100644
--- a/runtime/doc/eval.txt
+++ b/runtime/doc/eval.txt
@@ -1,4 +1,4 @@
-*eval.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 18
+*eval.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -1690,8 +1690,11 @@
 				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}
-tabpage( [{expr}])		Number	number of current tab page
-taglist( {expr})			List	list of tags matching {expr}
+tabpagebuflist( [{arg}])	List	list of buffer numbers in tab page
+tabpagenr( [{arg}])		Number	number of current or last tab page
+tabpagewinnr( {tabarg}[, {arg}])
+				Number	number of current window in tab page
+taglist( {expr})		List	list of tags matching {expr}
 tagfiles()			List    tags files used
 tempname()			String	name for a temporary file
 tolower( {expr})		String	the String {expr} switched to lowercase
@@ -3861,10 +3864,12 @@
 		Search for the match of a nested start-end pair.  This can be
 		used to find the "endif" that matches an "if", while other
 		if/endif pairs in between are ignored.
-		The search starts at the cursor.  If a match is found, the
-		cursor is positioned at it and the line number is returned.
-		If no match is found 0 or -1 is returned and the cursor
-		doesn't move.  No error message is given.
+		The search starts at the cursor.  The default is to search
+		forward, include 'b' in {flags} to search backward.
+		If a match is found, the cursor is positioned at it and the
+		line number is returned.  If no match is found 0 or -1 is
+		returned and the cursor doesn't move.  No error message is
+		given.
 
 		{start}, {middle} and {end} are patterns, see |pattern|.  They
 		must not contain \( \) pairs.  Use of \%( \) is allowed.  When
@@ -4448,7 +4453,21 @@
 		Use |:checktime| to force a check.
 
 
-tabpagenr([{arg}])						*tabpagenr()*
+tabpagebuflist([{arg}])					*tabpagebuflist()*
+		The result is a List, where each item is the number of the
+		buffer associated with each window in the current tab page.
+		{arg} specifies the number of tab page to be used.  When
+		omitted the current tab page is used.
+		When {arg} is invalid the number zero is returned.
+		To get a list of all buffers in all tabs use this: >
+			tablist = []
+			for i in range(tabpagenr('$'))
+			   call extend(tablist, tabpagebuflist(i + 1))
+			endfor
+<		Note that a buffer may appear in more than one window.
+
+
+tabpagenr([{arg}])					*tabpagenr()*
 		The result is a Number, which is the number of the current
 		tab page.  The first tab page has number 1.
 		When the optional argument is "$", the number of the last tab
@@ -4456,6 +4475,19 @@
 		The number can be used with the |:tab| command.
 
 
+tabpagewinnr({tabarg}, [{arg}])				*tabpagewinnr()*
+		Like |winnr()| but for tab page {arg}.
+		{tabarg} specifies the number of tab page to be used.
+		{arg} is used like with |winnr()|:
+		- When omitted the current window number is returned.  This is
+		  the window which will be used when going to this tab page.
+		- When "$" the number of windows is returned.
+		- When "#" the previous window nr is returned.
+		Useful examples: >
+		    tabpagewinnr(1)	    " current window of tab page 1
+		    tabpagewinnr(4, '$')    " number of windows in tab page 4
+<		When {tabarg} is invalid zero is returned.
+
 taglist({expr})							*taglist()*
 		Returns a list of tags matching the regular expression {expr}.
 		Each list item is a dictionary with at least the following
diff --git a/runtime/doc/options.txt b/runtime/doc/options.txt
index c17074c..53b9899 100644
--- a/runtime/doc/options.txt
+++ b/runtime/doc/options.txt
@@ -1,4 +1,4 @@
-*options.txt*	For Vim version 7.0aa.  Last change: 2006 Feb 18
+*options.txt*	For Vim version 7.0aa.  Last change: 2006 Feb 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4614,7 +4614,7 @@
 			{only available when compiled with the |+linebreak|
 			feature}
 	Minimal number of columns to use for the line number.  Only relevant
-	when the 'number' option is set.
+	when the 'number' option is set or printint lines with a line number.
 	Since one space is always between the number and the text, there is
 	one less character for the number itself.
 	The value is the minimum width.  A bigger width is used when needed to
@@ -5680,6 +5680,21 @@
 	NOTE: This option is set to the Vi default value when 'compatible' is
 	set and to the Vim default value when 'compatible' is reset.
 
+						*'showtabline'* *'stal'*
+'showtabline' 'stal'	number	(default 1)
+			global
+			{not in Vi}
+			{not available when compiled without the +windows
+			feature}
+	The value of this option specifies when the line with tab page labels
+	will be displayed:
+		0: never
+		1: only if there are at least two tab pages
+		2: always
+	This is both for the GUI and non-GUI implementation of the tab pages
+	line.
+	See |tab-page| for more information about tab pages.
+
 						*'sidescroll'* *'ss'*
 'sidescroll' 'ss'	number	(default 0)
 			global
@@ -6235,17 +6250,25 @@
 	Only normal file name characters can be used, "/\*?[|<>" are illegal.
 
 					*'tabline'* *'tal'*
-'tabline' 'tal'		number	(default 1)
+'tabline' 'tal'		string	(default empty)
 			global
 			{not in Vi}
 			{not available when compiled without the +windows
 			feature}
-	The value of this option specifies when the line with tab page labels
-	will be displayed:
-		0: never
-		1: only if there are at least two tab pages
-		2: always
-	|tab-page|
+	When nonempty, this option determines the content of the tab pages
+	line at the top of the Vim window.  When empty Vim will use a default
+	tab pages line. |tab-page|
+
+	The tab pages line only appears as specified with the 'showtabline'
+	option and only when there is no GUI implementation for tabs.
+
+	The value is evaluated like with 'statusline'.  You can use
+	|tabpagenr()|, |tabpagewinnr()| and |tabpagebuflist()| to figure out
+	the text to be displayed.
+
+	Keep in mind that only one of the tab pages is the current one, others
+	are invisible and you can't jump to their windows.
+
 
 					*'tabstop'* *'ts'*
 'tabstop' 'ts'		number	(default 8)
diff --git a/runtime/doc/syntax.txt b/runtime/doc/syntax.txt
index ff3b7f9..d839e25 100644
--- a/runtime/doc/syntax.txt
+++ b/runtime/doc/syntax.txt
@@ -1,4 +1,4 @@
-*syntax.txt*	For Vim version 7.0aa.  Last change: 2006 Feb 16
+*syntax.txt*	For Vim version 7.0aa.  Last change: 2006 Feb 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -4020,6 +4020,12 @@
 StatusLineNC	status lines of not-current windows
 		Note: if this is equal to "StatusLine" Vim will use "^^^" in
 		the status line of the current window.
+							*hl-TabLine*
+TabLine		tab pages line, not active tab page label
+							*hl-TabLineFill*
+TabLineFill	tab pages line, where there are no labels
+							*hl-TabLineSel*
+TabLineSel	tab pages line, active tab page label
 							*hl-Title*
 Title		titles for output from ":set all", ":autocmd" etc.
 							*hl-Visual*
diff --git a/runtime/doc/tags b/runtime/doc/tags
index 514ca29..517c4dd 100644
--- a/runtime/doc/tags
+++ b/runtime/doc/tags
@@ -718,6 +718,7 @@
 'showfulltag'	options.txt	/*'showfulltag'*
 'showmatch'	options.txt	/*'showmatch'*
 'showmode'	options.txt	/*'showmode'*
+'showtabline'	options.txt	/*'showtabline'*
 'shq'	options.txt	/*'shq'*
 'si'	options.txt	/*'si'*
 'sidescroll'	options.txt	/*'sidescroll'*
@@ -758,6 +759,7 @@
 'ssop'	options.txt	/*'ssop'*
 'st'	options.txt	/*'st'*
 'sta'	options.txt	/*'sta'*
+'stal'	options.txt	/*'stal'*
 'startofline'	options.txt	/*'startofline'*
 'statusline'	options.txt	/*'statusline'*
 'stl'	options.txt	/*'stl'*
@@ -2646,6 +2648,10 @@
 :tabclose	tabpage.txt	/*:tabclose*
 :tabe	tabpage.txt	/*:tabe*
 :tabedit	tabpage.txt	/*:tabedit*
+:tabf	tabpage.txt	/*:tabf*
+:tabfind	tabpage.txt	/*:tabfind*
+:tabn	tabpage.txt	/*:tabn*
+:tabnew	tabpage.txt	/*:tabnew*
 :tabo	tabpage.txt	/*:tabo*
 :tabonly	tabpage.txt	/*:tabonly*
 :tabs	tabpage.txt	/*:tabs*
@@ -4098,8 +4104,8 @@
 TERM	starting.txt	/*TERM*
 TTpro-telnet	syntax.txt	/*TTpro-telnet*
 Tab	intro.txt	/*Tab*
-TabEnterPost	autocmd.txt	/*TabEnterPost*
-TabLeavePre	autocmd.txt	/*TabLeavePre*
+TabEnter	autocmd.txt	/*TabEnter*
+TabLeave	autocmd.txt	/*TabLeave*
 Tcl	if_tcl.txt	/*Tcl*
 TermChanged	autocmd.txt	/*TermChanged*
 TermResponse	autocmd.txt	/*TermResponse*
@@ -5515,6 +5521,9 @@
 hl-SpellRare	syntax.txt	/*hl-SpellRare*
 hl-StatusLine	syntax.txt	/*hl-StatusLine*
 hl-StatusLineNC	syntax.txt	/*hl-StatusLineNC*
+hl-TabLine	syntax.txt	/*hl-TabLine*
+hl-TabLineFill	syntax.txt	/*hl-TabLineFill*
+hl-TabLineSel	syntax.txt	/*hl-TabLineSel*
 hl-Title	syntax.txt	/*hl-Title*
 hl-Tooltip	syntax.txt	/*hl-Tooltip*
 hl-User1	syntax.txt	/*hl-User1*
@@ -6949,7 +6958,9 @@
 tab-page-other	tabpage.txt	/*tab-page-other*
 tabpage	tabpage.txt	/*tabpage*
 tabpage.txt	tabpage.txt	/*tabpage.txt*
+tabpagebuflist()	eval.txt	/*tabpagebuflist()*
 tabpagenr()	eval.txt	/*tabpagenr()*
+tabpagewinnr()	eval.txt	/*tabpagewinnr()*
 tag	tagsrch.txt	/*tag*
 tag-!	tagsrch.txt	/*tag-!*
 tag-any-white	tagsrch.txt	/*tag-any-white*
diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index 4c65d1d..94218ec 100644
--- a/runtime/doc/todo.txt
+++ b/runtime/doc/todo.txt
@@ -1,4 +1,4 @@
-*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 18
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 20
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,6 +30,50 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
+'tabline' documentation with an example; esp for the highlighting
+
+P_INSECURE should be remembered for local option values separately.
+
+Completion: <Up> and <Down> don't insert completion, <PageUp> and <PageDown>
+shouldn't either.
+
+Completion: case sensitiveness when typing BS: make it an option?
+
+Completion: When back at the original word behave like after BS.
+
+Completion: When to get out of the BS state when the user keeps on typing?
+
+TabLineMod, TabLineModSel  hl when a buffer is modified in a tab.
+Command(s) to reorder tabs?  ":tabmove N".
+Open new tab by double click in tab line.
+"gT", ":tpNext" and ":tpprev" to go to previous tab?
+":tab" -> ":tpnext".
+":tab" or ":tabpage"  modifier to open new window in new tab.
+    E.g., ":tab help gt"
+    Keep a few commands as shortcuts:
+	:tpnew	     :tab new
+	:tpedit	        -
+	:tpclose     :tab close
+	:tponly	     :tab only
+	:tpnext		-
+	:tpprevious	-
+	:tpNext		-
+	:tplast		-
+	:tpfirst	-
+    ":tab!" to open it at the end, ":0tab" to open at the start.
+    ":tab split" opens tab with window same as current window.
+    ":tpsplit" would split the tab with all its windows.
+Option to put tab line at the left or right?  Need an option to specify its
+witdh.  It's like a separate window with ":tabs" output.
+    :tabdo    ":tabdo windo cmd" should also work
+
+Add an argument to search functions to stop at a certain line number.
+    search('{', 'b', line('w0'))
+    search('{', '', line('w$'))
+Also start at a specified position?
+
+undo could remember the '< and '> marks.
+
 Support WINDOW TABS.  Works like several pages, each with their own split
 windows.  Let's call them "tab pages".
     - line at top of frame with tabs.
@@ -103,6 +147,7 @@
 all. (Gautam Iyer)
 
 Mac unicode patch (Da Woon Jung):
+- configuration option for platform: i386, ppc or both.
 - selecting proportional font breaks display
 - UTF-8 text causes display problems.  Font replacement causes this.
 - Command-key mappings do not work. (Alan Schmitt)
diff --git a/runtime/doc/various.txt b/runtime/doc/various.txt
index a7cb743..05908d0 100644
--- a/runtime/doc/various.txt
+++ b/runtime/doc/various.txt
@@ -1,4 +1,4 @@
-*various.txt*   For Vim version 7.0aa.  Last change: 2006 Jan 08
+*various.txt*   For Vim version 7.0aa.  Last change: 2006 Feb 20
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -94,7 +94,8 @@
 							*:nu* *:number*
 :[range]nu[mber] [count] [flags]
 			Same as :print, but precede each line with its line
-			number.  (See also 'highlight' option).
+			number.  (See also 'highlight' and 'numberwidth'
+			option).
 			See |ex-flags| for [flags].
 
 							*:#*
