updated for version 7.0205
diff --git a/src/Make_vms.mms b/src/Make_vms.mms
index 8b83468..8b24981 100644
--- a/src/Make_vms.mms
+++ b/src/Make_vms.mms
@@ -2,7 +2,7 @@
 # Makefile for Vim on OpenVMS
 #
 # Maintainer:   Zoltan Arpadffy <arpadffy@polarhome.com>
-# Last change:  2005 Jul 23
+# Last change:  2006 Feb 23
 #
 # This has script been tested on VMS 6.2 to 8.2 on DEC Alpha, VAX and IA64
 # with MMS and MMK
@@ -288,7 +288,7 @@
 SRC =	buffer.c charset.c diff.c digraph.c edit.c eval.c ex_cmds.c ex_cmds2.c \
 	ex_docmd.c ex_eval.c ex_getln.c if_xcmdsrv.c fileio.c fold.c getchar.c \
 	hardcopy.c hashtable.c main.c mark.c menu.c mbyte.c memfile.c memline.c message.c misc1.c \
-	misc2.c move.c normal.c ops.c option.c quickfix.c regexp.c search.c \
+	misc2.c move.c normal.c ops.c option.c popupmenu.c quickfix.c regexp.c search.c \
 	spell.c syntax.c tag.c term.c termlib.c ui.c undo.c version.c screen.c \
 	window.c os_unix.c os_vms.c pathdef.c \
 	$(GUI_SRC) $(PERL_SRC) $(PYTHON_SRC) $(TCL_SRC) $(SNIFF_SRC) \
@@ -298,7 +298,7 @@
 	ex_cmds.obj ex_cmds2.obj ex_docmd.obj ex_eval.obj ex_getln.obj \
 	if_xcmdsrv.obj fileio.obj fold.obj getchar.obj hardcopy.obj hashtable.obj main.obj mark.obj \
 	menu.obj memfile.obj memline.obj message.obj misc1.obj misc2.obj \
-	move.obj mbyte.obj normal.obj ops.obj option.obj quickfix.obj \
+	move.obj mbyte.obj normal.obj ops.obj option.obj popupmenu.obj quickfix.obj \
 	regexp.obj search.obj spell.obj syntax.obj tag.obj term.obj termlib.obj \
 	ui.obj undo.obj screen.obj version.obj window.obj os_unix.obj \
 	os_vms.obj pathdef.obj \
@@ -607,6 +607,10 @@
  ascii.h keymap.h term.h macros.h structs.h regexp.h \
  gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
  globals.h farsi.h arabic.h
+popupmenu.obj : popupmenu.c vim.h [.auto]config.h feature.h os_unix.h \
+ ascii.h keymap.h term.h macros.h structs.h regexp.h \
+ gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
+ globals.h farsi.h arabic.h
 quickfix.obj : quickfix.c vim.h [.auto]config.h feature.h os_unix.h \
  ascii.h keymap.h term.h macros.h structs.h regexp.h \
  gui.h gui_beval.h [.proto]gui_beval.pro option.h ex_cmds.h proto.h \
diff --git a/src/edit.c b/src/edit.c
index d159911..7960566 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -713,8 +713,8 @@
 		    continue;
 		}
 
-		/* A printable character: Add it to "compl_leader". */
-		if (vim_isprintc(c))
+		/* A printable, non-white character: Add to "compl_leader". */
+		if (vim_isprintc(c) && !vim_iswhite(c))
 		{
 		    ins_compl_addleader(c);
 		    continue;
@@ -3696,7 +3696,10 @@
 ins_compl_insert()
 {
     ins_bytes(compl_shown_match->cp_str + curwin->w_cursor.col - compl_col);
-    compl_used_match = TRUE;
+    if (compl_shown_match->cp_flags & ORIGINAL_TEXT)
+	compl_used_match = FALSE;
+    else
+	compl_used_match = TRUE;
 }
 
 /*
diff --git a/src/ex_cmds2.c b/src/ex_cmds2.c
index 575a185..416fd3e 100644
--- a/src/ex_cmds2.c
+++ b/src/ex_cmds2.c
@@ -1983,7 +1983,8 @@
 #endif
 
 #ifdef FEAT_WINDOWS
-	if (*eap->cmd == 's')	    /* split window first */
+	/* split window or create new tab page first */
+	if (*eap->cmd == 's' || cmdmod.tab != 0)
 	{
 	    if (win_split(0, 0) == FAIL)
 		return;
diff --git a/src/ex_getln.c b/src/ex_getln.c
index 6828f67..bac600c 100644
--- a/src/ex_getln.c
+++ b/src/ex_getln.c
@@ -2939,6 +2939,14 @@
     if (cmd_silent)
 	return;
 
+    /* when 'incsearch' is set there may be no command line while redrawing */
+    if (ccline.cmdbuff == NULL)
+    {
+	windgoto(cmdline_row, 0);
+	msg_clr_eos();
+	return;
+    }
+
     msg_start();
     redrawcmdprompt();
 
@@ -5635,6 +5643,9 @@
     /* Don't execute autocommands while creating the window. */
     ++autocmd_block;
 # endif
+    /* don't use a new tab page */
+    cmdmod.tab = 0;
+
     /* Create a window for the command-line buffer. */
     if (win_split((int)p_cwh, WSP_BOT) == FAIL)
     {
diff --git a/src/proto/window.pro b/src/proto/window.pro
index ca0de7a..1c56ab1 100644
--- a/src/proto/window.pro
+++ b/src/proto/window.pro
@@ -14,11 +14,13 @@
 void curwin_init __ARGS((void));
 int win_alloc_first __ARGS((void));
 void win_init_size __ARGS((void));
-int win_new_tabpage __ARGS((void));
+int win_new_tabpage __ARGS((int after));
+int may_open_tabpage __ARGS((void));
 int make_tabpages __ARGS((int maxcount));
 int valid_tabpage __ARGS((tabpage_T *tpc));
 tabpage_T *find_tabpage __ARGS((int n));
 void goto_tabpage __ARGS((int n));
+void tabpage_move __ARGS((int nr));
 void win_goto __ARGS((win_T *wp));
 win_T *win_find_nr __ARGS((int winnr));
 void win_enter __ARGS((win_T *wp, int undo_sync));
diff --git a/src/structs.h b/src/structs.h
index 4d1928e..bb02a75 100644
--- a/src/structs.h
+++ b/src/structs.h
@@ -428,6 +428,7 @@
 # endif
 # ifdef FEAT_WINDOWS
     int		split;			/* flags for win_split() */
+    int		tab;			/* > 0 when ":tab" was used */
 # endif
 # if defined(FEAT_GUI_DIALOG) || defined(FEAT_CON_DIALOG)
     int		confirm;		/* TRUE to invoke yes/no dialog */
diff --git a/src/syntax.c b/src/syntax.c
index 4560153..b5c3464 100644
--- a/src/syntax.c
+++ b/src/syntax.c
@@ -6109,7 +6109,7 @@
 	"DiffAdd term=bold ctermbg=LightBlue guibg=LightBlue",
 	"DiffChange term=bold ctermbg=LightMagenta guibg=LightMagenta",
 	"DiffDelete term=bold ctermfg=Blue ctermbg=LightCyan gui=bold guifg=Blue guibg=LightCyan",
-	"TabLine term=underline cterm=underline ctermbg=LightGrey gui=underline guibg=LightGrey",
+	"TabLine term=underline cterm=underline ctermfg=black ctermbg=LightGrey gui=underline guibg=LightGrey",
 	NULL
     };
 
@@ -6138,7 +6138,7 @@
 	"DiffAdd term=bold ctermbg=DarkBlue guibg=DarkBlue",
 	"DiffChange term=bold ctermbg=DarkMagenta guibg=DarkMagenta",
 	"DiffDelete term=bold ctermfg=Blue ctermbg=DarkCyan gui=bold guifg=Blue guibg=DarkCyan",
-	"TabLine term=underline cterm=underline ctermbg=DarkGrey gui=underline guibg=DarkGrey",
+	"TabLine term=underline cterm=underline ctermfg=white ctermbg=DarkGrey gui=underline guibg=DarkGrey",
 	NULL
     };
 
diff --git a/src/term.c b/src/term.c
index f9d6d2d..621d35b 100644
--- a/src/term.c
+++ b/src/term.c
@@ -4695,10 +4695,18 @@
 			    && orig_num_clicks != 4
 			    && orig_mouse_col == mouse_col
 			    && orig_mouse_row == mouse_row
+			    && ((orig_topline == curwin->w_topline
 #ifdef FEAT_DIFF
-			    && orig_topfill == curwin->w_topfill
+				    && orig_topfill == curwin->w_topfill
 #endif
-			    && orig_topline == curwin->w_topline)
+				)
+#ifdef FEAT_WINDOWS
+				/* Double click in tab pages line also works
+				 * when window contents changes. */
+				|| (mouse_row == 0 && firstwin->w_winrow > 0)
+#endif
+			       )
+			    )
 			++orig_num_clicks;
 		    else
 			orig_num_clicks = 1;
diff --git a/src/version.h b/src/version.h
index 0ebd781..9838f1b 100644
--- a/src/version.h
+++ b/src/version.h
@@ -36,5 +36,5 @@
 #define VIM_VERSION_NODOT	"vim70aa"
 #define VIM_VERSION_SHORT	"7.0aa"
 #define VIM_VERSION_MEDIUM	"7.0aa ALPHA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 22)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 22, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 23)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Feb 23, compiled "