updated for version 7.0205
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,