diff --git a/runtime/doc/todo.txt b/runtime/doc/todo.txt
index f50d04f..93a92fd 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 22
+*todo.txt*      For Vim version 7.0aa.  Last change: 2006 Feb 23
 
 
 		  VIM REFERENCE MANUAL	  by Bram Moolenaar
@@ -30,34 +30,17 @@
 							*known-bugs*
 -------------------- Known bugs and current work -----------------------
 
-Completion: When back at the original word behave like after BS.
+:tablast
+:tabfirst
+Also support:
+    :tabdup	 split the tab with all its windows.
+    :tab ball    tab page for each buffer
+    :tab all     tab page for each argument
+    :tabdo cmd   ":tabdo windo cmd" should also work
 
-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.
-In GUI: right click can popup menu to close a specific tab.
+In GUI: right click can popup a menu to close a specific tab.
 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'))
diff --git a/runtime/doc/version7.txt b/runtime/doc/version7.txt
index addb5a2..6da26a0 100644
--- a/runtime/doc/version7.txt
+++ b/runtime/doc/version7.txt
@@ -1,4 +1,4 @@
-*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Feb 22
+*version7.txt*  For Vim version 7.0aa.  Last change: 2006 Feb 23
 
 
 		  VIM REFERENCE MANUAL    by Bram Moolenaar
@@ -657,6 +657,7 @@
 
 VHDL indent file (Gerald Lai)
 
+MGL syntax file. (Gero Kuhlmann)
 
 New Keymaps: ~
 
diff --git a/src/ex_cmds.c b/src/ex_cmds.c
index 235a6b1..fa8cb2c 100644
--- a/src/ex_cmds.c
+++ b/src/ex_cmds.c
@@ -5300,13 +5300,21 @@
 
     /*
      * Re-use an existing help window or open a new one.
+     * Always open a new one for ":tab help".
      */
-    if (!curwin->w_buffer->b_help)
+    if (!curwin->w_buffer->b_help
+#ifdef FEAT_WINDOWS
+	    || cmdmod.tab != 0
+#endif
+	    )
     {
 #ifdef FEAT_WINDOWS
-	for (wp = firstwin; wp != NULL; wp = wp->w_next)
-	    if (wp->w_buffer != NULL && wp->w_buffer->b_help)
-		break;
+	if (cmdmod.tab != 0)
+	    wp = NULL;
+	else
+	    for (wp = firstwin; wp != NULL; wp = wp->w_next)
+		if (wp->w_buffer != NULL && wp->w_buffer->b_help)
+		    break;
 	if (wp != NULL && wp->w_buffer->b_nwindows > 0)
 	    win_enter(wp, TRUE);
 	else
@@ -5325,19 +5333,21 @@
 
 #ifdef FEAT_WINDOWS
 	    /* Split off help window; put it at far top if no position
-	     * specified, the current window is vertically split and narrow. */
+	     * specified, the current window is vertically split and
+	     * narrow. */
 	    n = WSP_HELP;
 # ifdef FEAT_VERTSPLIT
 	    if (cmdmod.split == 0 && curwin->w_width != Columns
-						      && curwin->w_width < 80)
+						  && curwin->w_width < 80)
 		n |= WSP_TOP;
 # endif
 	    if (win_split(0, n) == FAIL)
+		goto erret;
 #else
 	    /* use current window */
 	    if (!can_abandon(curbuf, FALSE))
-#endif
 		goto erret;
+#endif
 
 #ifdef FEAT_WINDOWS
 	    if (curwin->w_height < p_hh)
diff --git a/src/ex_cmds.h b/src/ex_cmds.h
index 49e86a4..71a0e2a 100644
--- a/src/ex_cmds.h
+++ b/src/ex_cmds.h
@@ -877,18 +877,26 @@
 			RANGE|NOTADR|BANG|WORD1|TRLBAR|ZEROR),
 EX(CMD_tags,		"tags",		do_tags,
 			TRLBAR|CMDWIN),
-EX(CMD_tab,		"tab",		ex_tab,
-			RANGE|NOTADR|COUNT|TRLBAR),
+EX(CMD_tab,		"tab",		ex_wrongmodifier,
+			NEEDARG|EXTRA|NOTRLCOM),
 EX(CMD_tabclose,	"tabclose",	ex_tabclose,
 			RANGE|NOTADR|COUNT|BANG|TRLBAR|CMDWIN),
 EX(CMD_tabedit,		"tabedit",	ex_splitview,
 			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
 EX(CMD_tabfind,		"tabfind",	ex_splitview,
 			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|NEEDARG|TRLBAR),
+EX(CMD_tabmove,		"tabmove",	ex_tabmove,
+			RANGE|NOTADR|COUNT|TRLBAR|ZEROR),
+EX(CMD_tabnext,		"tabnext",	ex_tabnext,
+			RANGE|NOTADR|COUNT|TRLBAR),
 EX(CMD_tabnew,		"tabnew",	ex_splitview,
 			BANG|FILE1|RANGE|NOTADR|EDITCMD|ARGOPT|TRLBAR),
 EX(CMD_tabonly,		"tabonly",	ex_tabonly,
 			TRLBAR|CMDWIN),
+EX(CMD_tabprevious,	"tabprevious",	ex_tabprevious,
+			RANGE|NOTADR|COUNT|TRLBAR),
+EX(CMD_tabNext,		"tabNext",	ex_tabprevious,
+			RANGE|NOTADR|COUNT|TRLBAR),
 EX(CMD_tabs,		"tabs",		ex_tabs,
 			TRLBAR|CMDWIN),
 EX(CMD_tcl,		"tcl",		ex_tcl,
