diff --git a/src/GvimExt/GvimExt.reg b/src/GvimExt/GvimExt.reg
index bb906e2..2b80956 100644
--- a/src/GvimExt/GvimExt.reg
+++ b/src/GvimExt/GvimExt.reg
@@ -15,6 +15,6 @@
 [HKEY_LOCAL_MACHINE\Software\Vim\Gvim]
    "path"="gvim.exe"
 
-[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0g]
-   "DisplayName"="Vim 7.0g: Edit with Vim popup menu entry"
+[HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall\Vim 7.0]
+   "DisplayName"="Vim 7.0: Edit with Vim popup menu entry"
    "UninstallString"="uninstal.exe"
diff --git a/src/Makefile b/src/Makefile
index 32f3a97..b9627ab 100644
--- a/src/Makefile
+++ b/src/Makefile
@@ -880,7 +880,7 @@
 
 ### Vim version (adjusted by a script)
 VIMMAJOR = 7
-VIMMINOR = 0g
+VIMMINOR = 0
 
 ### Location of Vim files (should not need to be changed, and  {{{1
 ### some things might not work when they are changed!)
diff --git a/src/edit.c b/src/edit.c
index e298a8c..9b3a528 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -105,6 +105,11 @@
 					   FALSE the match was edited or using
 					   the longest common string. */
 
+static int	  compl_was_interrupted = FALSE;  /* didn't finish finding
+						     completions. */
+
+static int	  compl_restarting = FALSE;	/* don't insert match */
+
 /* When the first completion is done "compl_started" is set.  When it's
  * FALSE the word to be completed must be located. */
 static int	  compl_started = FALSE;
@@ -139,7 +144,9 @@
 static void ins_compl_free __ARGS((void));
 static void ins_compl_clear __ARGS((void));
 static int  ins_compl_bs __ARGS((void));
+static void ins_compl_new_leader __ARGS((void));
 static void ins_compl_addleader __ARGS((int c));
+static void ins_compl_restart __ARGS((void));
 static void ins_compl_set_original_text __ARGS((char_u *str));
 static void ins_compl_addfrommatch __ARGS((void));
 static int  ins_compl_prep __ARGS((int c));
@@ -3008,43 +3015,69 @@
     if ((int)(p - line) - (int)compl_col <= 0)
 	return K_BS;
 
-    if (curwin->w_cursor.col <= compl_col + compl_length)
-    {
-	/* Deleted more than what was used to find matches, need to look for
-	 * matches all over again. */
-	ins_compl_free();
-	compl_started = FALSE;
-	compl_matches = 0;
-	compl_cont_status = 0;
-	compl_cont_mode = 0;
-    }
+    /* For redo we need to repeat this backspace. */
+    AppendCharToRedobuff(K_BS);
+
+    /* Deleted more than what was used to find matches or didn't finish
+     * finding all matches: need to look for matches all over again. */
+    if (curwin->w_cursor.col <= compl_col + compl_length
+						     || compl_was_interrupted)
+	ins_compl_restart();
 
     vim_free(compl_leader);
     compl_leader = vim_strnsave(line + compl_col, (int)(p - line) - compl_col);
     if (compl_leader != NULL)
     {
-	ins_compl_del_pum();
-	ins_compl_delete();
-	ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
+	ins_compl_new_leader();
+	return NUL;
+    }
+    return K_BS;
+}
 
-	if (compl_started)
-	    ins_compl_set_original_text(compl_leader);
-	else
-	{
+/*
+ * Called after changing "compl_leader".
+ * Show the popup menu with a different set of matches.
+ * May also search for matches again if the previous search was interrupted.
+ */
+    static void
+ins_compl_new_leader()
+{
+    ins_compl_del_pum();
+    ins_compl_delete();
+    ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
+    compl_used_match = FALSE;
+    compl_enter_selects = FALSE;
+
+    if (compl_started)
+	ins_compl_set_original_text(compl_leader);
+    else
+    {
 #ifdef FEAT_SPELL
-	    spell_bad_len = 0;	/* need to redetect bad word */
+	spell_bad_len = 0;	/* need to redetect bad word */
 #endif
-	    /* Matches were cleared, need to search for them now. */
-	    if (ins_complete(Ctrl_N) == FAIL)
-		compl_cont_status = 0;
-	    else
-	    {
-		/* Remove the completed word again. */
-		ins_compl_delete();
-		ins_bytes(compl_leader + curwin->w_cursor.col - compl_col);
-	    }
+	/*
+	 * Matches were cleared, need to search for them now.  First display
+	 * the changed text before the cursor.  Set "compl_restarting" to
+	 * avoid that the first match is inserted.
+	 */
+	update_screen(0);
+#ifdef FEAT_GUI
+	if (gui.in_use)
+	{
+	    /* Show the cursor after the match, not after the redrawn text. */
+	    setcursor();
+	    out_flush();
+	    gui_update_cursor(FALSE, FALSE);
 	}
+#endif
+	compl_restarting = TRUE;
+	if (ins_complete(Ctrl_N) == FAIL)
+	    compl_cont_status = 0;
+	compl_restarting = FALSE;
+    }
 
+    if (!compl_used_match)
+    {
 	/* Go to the original text, since none of the matches is inserted. */
 	if (compl_first_match->cp_prev != NULL
 		&& (compl_first_match->cp_prev->cp_flags & ORIGINAL_TEXT))
@@ -3053,15 +3086,10 @@
 	    compl_shown_match = compl_first_match;
 	compl_curr_match = compl_shown_match;
 	compl_shows_dir = compl_direction;
-
-	/* Show the popup menu with a different set of matches. */
-	ins_compl_show_pum();
-	compl_used_match = FALSE;
-	compl_enter_selects = FALSE;
-
-	return NUL;
     }
-    return K_BS;
+
+    /* Show the popup menu with a different set of matches. */
+    ins_compl_show_pum();
 }
 
 /*
@@ -3087,18 +3115,33 @@
 #endif
 	ins_char(c);
 
+    /* For redo we need to count this character so that the number of
+     * backspaces is correct. */
+    AppendCharToRedobuff(c);
+
+    /* If we didn't complete finding matches we must search again. */
+    if (compl_was_interrupted)
+	ins_compl_restart();
+
     vim_free(compl_leader);
     compl_leader = vim_strnsave(ml_get_curline() + compl_col,
 					    curwin->w_cursor.col - compl_col);
     if (compl_leader != NULL)
-    {
-	/* Show the popup menu with a different set of matches. */
-	ins_compl_del_pum();
-	ins_compl_show_pum();
-	compl_used_match = FALSE;
-	compl_enter_selects = FALSE;
-	ins_compl_set_original_text(compl_leader);
-    }
+	ins_compl_new_leader();
+}
+
+/*
+ * Setup for finding completions again without leaving CTRL-X mode.  Used when
+ * BS or a key was typed while still searching for matches.
+ */
+    static void
+ins_compl_restart()
+{
+    ins_compl_free();
+    compl_started = FALSE;
+    compl_matches = 0;
+    compl_cont_status = 0;
+    compl_cont_mode = 0;
 }
 
 /*
@@ -4060,7 +4103,7 @@
     }
 
     if (allow_get_expansion && insert_match
-				  && (!compl_get_longest || compl_used_match))
+	    && (!(compl_get_longest || compl_restarting) || compl_used_match))
 	/* Delete old text to be replaced */
 	ins_compl_delete();
 
@@ -4068,6 +4111,13 @@
      * don't let CTRL-N or CTRL-P move to the first match. */
     advance = count != 1 || !allow_get_expansion || !compl_get_longest;
 
+    /* When restarting the search don't insert the first match either. */
+    if (compl_restarting)
+    {
+	advance = FALSE;
+	compl_restarting = FALSE;
+    }
+
     /* Repeat this for when <PageUp> or <PageDown> is typed.  But don't wrap
      * around. */
     while (--todo >= 0)
@@ -4102,6 +4152,7 @@
 	    if (!allow_get_expansion)
 		return -1;
 
+	    /* Find matches. */
 	    num_matches = ins_compl_get_exp(&compl_startpos);
 	    if (compl_pending != 0 && compl_direction == compl_shows_dir
 								   && advance)
@@ -4850,6 +4901,7 @@
 	setcursor();
 	RedrawingDisabled = n;
     }
+    compl_was_interrupted = compl_interrupted;
     compl_interrupted = FALSE;
 
     return OK;
diff --git a/src/version.h b/src/version.h
index 88c9d2e..33a435f 100644
--- a/src/version.h
+++ b/src/version.h
@@ -19,13 +19,13 @@
 #define VIM_VERSION_MINOR_STR		"0"
 #define VIM_VERSION_100	    (VIM_VERSION_MAJOR * 100 + VIM_VERSION_MINOR)
 
-#define VIM_VERSION_BUILD		 261
-#define VIM_VERSION_BUILD_BCD		0x105
-#define VIM_VERSION_BUILD_STR		"261"
+#define VIM_VERSION_BUILD		 262
+#define VIM_VERSION_BUILD_BCD		0x106
+#define VIM_VERSION_BUILD_STR		"262"
 #define VIM_VERSION_PATCHLEVEL		 0
 #define VIM_VERSION_PATCHLEVEL_STR	"0"
 /* Used by MacOS port should be one of: development, alpha, beta, final */
-#define VIM_VERSION_RELEASE		beta
+#define VIM_VERSION_RELEASE		final
 
 /*
  * VIM_VERSION_NODOT is used for the runtime directory name.
@@ -33,8 +33,8 @@
  * VIM_VERSION_MEDIUM is used for the startup-screen.
  * VIM_VERSION_LONG is used for the ":version" command and "Vim -h".
  */
-#define VIM_VERSION_NODOT	"vim70g"
-#define VIM_VERSION_SHORT	"7.0g"
-#define VIM_VERSION_MEDIUM	"7.0g05 BETA"
-#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0g05 BETA (2006 May 6)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0g05 BETA (2006 May 6, compiled "
+#define VIM_VERSION_NODOT	"vim70"
+#define VIM_VERSION_SHORT	"7.0"
+#define VIM_VERSION_MEDIUM	"7.0"
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0 (2006 May 7)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0 (2006 May 7, compiled "
