diff --git a/src/edit.c b/src/edit.c
index 5809df1..3ad12a7 100644
--- a/src/edit.c
+++ b/src/edit.c
@@ -2596,7 +2596,8 @@
 
 	if (count == -1)
 	{
-	    /* Skip "\<" in the pattern, we don't use it as a RE. */
+	    /* Complete from active spelling.  Skip "\<" in the pattern, we
+	     * don't use it as a RE. */
 	    if (pat[0] == '\\' && pat[1] == '<')
 		ptr = pat + 2;
 	    else
diff --git a/src/proto/spell.pro b/src/proto/spell.pro
index 16eb19d..9fc7a74 100644
--- a/src/proto/spell.pro
+++ b/src/proto/spell.pro
@@ -9,7 +9,7 @@
 void put_bytes __ARGS((FILE *fd, long_u nr, int len));
 void ex_mkspell __ARGS((exarg_T *eap));
 void ex_spell __ARGS((exarg_T *eap));
-void spell_add_word __ARGS((char_u *word, int len, int bad, int index));
+void spell_add_word __ARGS((char_u *word, int len, int bad, int index, int undo));
 void init_spell_chartab __ARGS((void));
 int spell_check_sps __ARGS((void));
 void spell_suggest __ARGS((int count));
diff --git a/src/quickfix.c b/src/quickfix.c
index 2d83f1f..bc4ef1c 100644
--- a/src/quickfix.c
+++ b/src/quickfix.c
@@ -3339,7 +3339,7 @@
     }
 
     if (qi->qf_curlist >= qi->qf_listcount
-	|| qi->qf_lists[qi->qf_curlist].qf_count == 0)
+	    || qi->qf_lists[qi->qf_curlist].qf_count == 0)
 	return FAIL;
 
     qfp = qi->qf_lists[qi->qf_curlist].qf_start;
diff --git a/src/search.c b/src/search.c
index 163605c..12751f8 100644
--- a/src/search.c
+++ b/src/search.c
@@ -4686,7 +4686,16 @@
 				(char *)new_fname);
 			msg_trunc_attr(IObuff, TRUE, hl_attr(HLF_R));
 		    }
+		    else
 #endif
+			 if (p_verbose >= 5)
+		    {
+			verbose_enter();
+			smsg((char_u *)_("Searching included file %s"),
+							   (char *)new_fname);
+			verbose_leave();
+		    }
+
 		}
 	    }
 	}
diff --git a/src/version.h b/src/version.h
index 5703a06..5c288aa 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 Mar 3)"
-#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 3, compiled "
+#define VIM_VERSION_LONG	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 4)"
+#define VIM_VERSION_LONG_DATE	"VIM - Vi IMproved 7.0aa ALPHA (2006 Mar 4, compiled "
